hey tech later and welcome back to
another episode of the tech lead in this
coffee time now today what we're going
to be talking about is my daily routine
as an ex-googler at lead as a software
engineer now a lot of the people wonder
what is it that programmers do all day
do we just stare at the computer eight
hours a day is that others to it and
it's not quite that and the other
interesting thing is I can tell you that
if I just take a look at your schedule I
can tell you whether you're going to be
a successful programmer or not you know
for example one question I'd like to ask
your interviews is how many friends do
you have and if it's more than five I
might just walk you out right there
but for me I was structure my day and my
activities around how I code and a lot
of this has become general daily happy
for me that I don't even notice it
anymore but if I were to look at
somebody else's schedule I can quickly
just be able to take a look and say you
know what I don't think that person is
going to be successful at coding they
need to change so much about the way
that they structure their lives their
daily plan so in this video we're going
to be covering the daily routine of a
professional programmer this video by
the way is sponsored by skill share
Scotia is an online learning community
with thousands of classes on creative
and entrepreneurial skills explore
everything from web development and
entrepreneurship to marketing
photography and more because Scotia are
sponsoring this video you get a free
two-month trial by clicking in the link
description check them out skill share
alright so the first thing you need to
understand is that a good programmer is
going to be structuring their day in two
blocks of time large blocks of time
we're talking about like two to three
hours the reason that you need these
large chunks of time is such that you
can get into the flow of coding let me
put it this way in the first hour that
you're actually coding you're pretty
much just reading up on documentation of
some new API you're learning some new
language some skill and you're spending
a lot of your time looking into some
other system and trying to figure out
what that is the second hour you might
actually be trying to implement that and
building up a rough prototype and then
in that third hour you might actually
have time to start polishing that up and
putting together something and hooking
things in so you can see what I mean by
if you only have one hour chunks of time
here and there and that's the longest
you have then every time you start
coding you're going to just get through
that documentation portion and then you
stop right there you've learned some
stuff but you have a head time to act
we apply that yet it's a lot like
building a thousand-piece puzzle where
every time you start you start from the
beginning you need a large chunk of time
say three hours or so to be able to get
through that whole chunk and then to
save your work at that point I see a lot
of other people they don't have a proper
work environment they don't have a good
desk they may be coding in bed coding on
the couch while watching TV getting
interrupted all the time they don't have
a quiet space I remember when I was over
at Google even though that was the Open
Office workspace people would still not
interrupt each other they would be very
hesitant to they may even ping you first
over chat and then see if they can get
you to respond at that point but nobody
really wants to interrupt your workflow
and if I have errands to run like I need
to go to the grocery store or do laundry
or something like that I will try to
batch those up such that I'm not doing
them every twenty minutes if I know that
say at 10 a.m. I need to go to the
supermarket that pretty much kills my
whole morning schedule it's just not
something you can recover from you can't
just say well you're gonna read
documentation for 20 minutes build a
prototype in the next 20 minutes write
several hours later and then multiple
hours later you're going to try and put
everything together again you know you
would just lose all of your train of
thought over that period of time now the
second interesting thing about the way I
structure my day is I like to actually
keep my lunches very short because for
me the period around my lunch break is
actually at the time when I'm at my most
productive and that is good time that I
don't want to waste so here's the one
thing to know about coding nobody
measures your time right nobody counts
the number of hours you work it is
entirely results based so when you get
into a company like Google they don't
count the number of hours you work they
don't even care if you just take off the
whole day and go work from home or if
you leave early you can manage your time
however you want it's not like working
as a cashier where you get paid by the
hour or working as a waiter
that is why time is so valuable as a
programmer you need to be managing it
properly your personal time is
essentially mixed with your professional
business time coding is generally not
talent based there's one single
bottleneck and it is your amount of time
that you're willing to put in the more
time you have the better of a programmer
you're going to be generally speaking
right because a lot of it is simply
based on learning some new system some
API some framework gathering as much
knowledge as you can just knowing as
much as you can about various
systems I remember surfer years ago I
would go out for lunch every single day
and I would just go to chapattis right
you'd imagine that would be pretty fast
but it turned out it would take me like
30 minutes to drive over there in midday
traffic maybe another 20 30 minutes to
order the food and consume it and then
another 30 minutes to get back and in
total that burns like 90 minutes of the
day by the time I got back it was
usually like 1:30 2 p.m. sometimes I
realized it was just burning tons of
valuable time and not only that if I
happen to eat a lot I would get sleepy
during the midday so these days I would
recommend that if you're serious about
becoming a programmer then some good
habits to get are shortening your lunch
break and eating less of that if
possible now another thing I would
actually do and this applies to anybody
is that when you wake up you plan out
your day during breakfast right like
think about what you want to do and it's
even better if you can think about that
the night before the issue is about
prioritization usually in coding there's
a million things that you could do right
you can sit there and dig deep into some
small little strange bug that you found
you could read a bunch of documentation
about something you could develop some
useless feature that nobody is going to
care about there's usually at least of
say a hundred different bugs that you
can go off and solve but this is really
about prioritizing that whole list of
things that you want to be doing and
also kind of goes back to how you
schedule your day and make sure that you
have blocks of time to code right if you
just approach the day in a half hazard
way and you don't really plan it out
then it's not going to be likely that
you'll be able to have chunks of time to
code and you'll probably be working on
things that aren't really worthwhile
working on like for example halfway
through the days somebody may say hey
they're going to the mall why don't you
just go with them and it's very easy to
say yeah you're just gonna go check that
out or some people are going to the
beach it's like oh that sounds fun why
don't you just go check that out too
when you think about the day and you
plan that beforehand you can set some
longer-term goals that are going to make
you happier over the long run right so
if you think to yourself well today if
you were to just power through that day
and finish some project then by the end
of the day you would be able to say to
yourself that you got this one thing
crossed off your checklist and it would
be done and that feeling of satisfaction
that reward would draw you into
completing that work and then when you
think about well would you rather go
spend half a day at the beach or would
you rather
some project that you really want to get
off the ground complete and done you may
actually like to do that project because
it just sounds much more fulfilling to
you you know I tend to be highly
suspicious of programmers who don't
drink coffee and who don't drink tea and
this is one of the top interview
questions I will actually ask people
because if you're not drinking anything
then what are you doing at the computer
are you just sitting there typing for
hours at a time or are you sipping on
something kind of fun like what I like
to do this is also one reason I would
highly recommend a coffee break
I take mine at about 3 p.m. every single
day so here's the way as here right
after lunchtime there's a stretch of
time until dinner dinner's at say 5 or 6
p.m. it's very difficult to say to
yourself where you're just going to sit
down and slog through 5 or 6 hours of
pure coding and that's how you're going
to spend your whole day that's a
miserable and depressing day but if I
knew that there was a coffee break
midway through and it's gonna be a
pretty fun coffee break right where
there's gonna be fun snacks and like I
have a chat with people around me think
about what I've been up to well then
that sounds pretty manageable right I
just break that up into two chunks of
time that I need to power through I've
notice a lot of other engineers will do
this too in the workplace about 3 p.m. I
go over to the micro kitchens and I see
lots of other people just go in there to
get their afternoon coffee tea access
kind of a mini stand-up where you can
take a step back from your immediate
work and reprioritize think about some
other out-of-the-box solutions that may
be able to help you get going it's very
easy as you're coding to start to get
into some rabbit hole write some strange
little bug and then you need that break
to help you take a step back and think
do you really need to be doing this is
this really the best way to solve this
or you can just close out that bug and
say not reproducible physical health by
the way is highly important in this
field
I personally don't drink alcohol I might
drink non-alcoholic beer actually but
especially in this sort of field where
it is highly dependent on your brain
your ability to think think you're gonna
need all of that brainpower that you can
get and you don't really want to be
damaging your brain through alcohol
needlessly in other fields like if
you're a cashier a waiter at airplanes
and it may be a football player you
don't really need that many brain cells
right it's not really based on your
ability to think and logic and reason
about so you can go drink that alcohol
and if you damage your brain thinking
capacity by
10% you're still good you're still fully
employable but this field it's not quite
like that the same goes for any other
types of substance abuse and I might
also mention that physical activity is
important I like to get a daily jog in
30 minutes at least every single day I
knew this guy at my other company he was
like 30 and he already had diabetes and
he went around carrying a little pouch
for his kidney or something like that a
lot of people in this industry are
overweight they don't have good posture
they're all messed up physically and
that's because of the nature of sitting
down all the time and being surrounded
by tons of snacks carbohydrates salty
sugary foods you know none of this stuff
is really good for you I had the
co-worker who would get himself a diet
coke every time he sat down to code and
he would just be drinking tons of diet
coke every single day so for myself
before I shower I always tried to work
in the 30 minute jog at least now about
a p.m. or so that is a very good chunk
of time to be working but you want to be
careful about here because this is also
a very good time to start planning about
your future think of it as kind of like
your 20% time where you can spend that
time and do anything that you may think
may be relevant for yourself for your
future start looking into other
interesting technologies learn something
new explore some other field plan some
other trip because this is where a lot
of your future planning happens right
for me the daytime is this slog of
execution for immediate needs but you
also need to be taking some time to plan
for your future a lot of people they
like to take this time and just burn it
watching primetime TV or Netflix but it
turns out it is actually one of the most
highly productive times of the day and I
would highly encourage you to not just
waste that for me I might actually push
my entertainment time further back right
maybe say 10:00 p.m. to 11:00 p.m. or so
that might be a decent time to watch
half a movie or so when my brain is
sergeant to actually get more tired
finally I like to make sure I'm getting
at least seven to eight hours of sleep a
day I like to be in bed by about
midnight or so plus or minus thirty
minutes I know this that if I don't get
enough sleep then the next day I'm just
not really functional at coding at all
the last daily routine I have for you is
daily learning through skill share with
an affordable Premium Membership LS and
$10 per month skill share gives you
unlimited access to high-quality classes
from experts working in their fields to
help you gain new skills and live your
life explore classes in illustration
graphic design photography UI creative
writing animation art music production
video marketing productivity freelance
and entrepreneurship and web development
I would particularly recommend the
JavaScript toolkit training by senior
Microsoft developer Christian Hellman in
which he would teach you how to become a
JavaScript expert with an in-depth guide
so check them out Skillshare link in the
description below I'll do for me let me
know what your daily routine is for
programmer if you liked the video give
it a like and subscribe I'll see you
next time
thanks bye