hey techlate here and welcome to another
episode of the tech leads i am the ex
google tech lead and today we are going
to be covering the top seven highly
effective habits of programmers it's
coffee time
now the funny thing is that programming
is the sort of career that if you don't
do it right if you don't go in there
with the right habits and the right
skills you're gonna mess yourself up
pretty badly pretty seriously they burn
out they become very strange and people
start saying that they have asperger's
maybe some of those people go out to
start youtube channels some of them burn
out and become data scientists and then
others go off and become managers
because they don't really know quite
what they're doing so you need to go in
here with the right habits and i say
habits because this is a long term game
and it's not really just about having a
few skills a few techniques here and
there a few tips and tricks you need to
craft the right habits and those habits
will mode you every day to have the
right career trajectory i have been
working in this industry for over 10
years highly decorated highly successful
ex google tech lead
and i'm here to provide you my top 7
habits now first of all though i do want
to mention that we do have a brand new
sponsor today and one that i'm really
happy to introduce to you if you haven't
heard of them already that service is
blinkist it's an app that summarizes
books into 15 minutes for you it's a lot
like having a friend read an entire book
for you and then giving you all of the
highlights and let's face it in today's
age it can be hard to find the time to
sit down and read it's not easy when
there's social media blogs news so
blinkist is the only app that takes the
best insights all the need to know
information from a book and condenses
that into 15 minutes for you to read or
listen to personally i think that many
of the best books shouldn't take hours
to plow through their messages can be
told in just 15 minutes or so but
authors sometimes just go on and on
about topic blinkist is a very popular
service millions of people are already
using it in fact and they have a massive
library ranging from self-help books
health history and business books my
favorite actually on my draft today i
listened to the seven habits of highly
effective people
and it's a great read phenomenal book
named one of the most influential books
of the 20th century and i was able to
get through that just in 15 minutes on
my drive using the blankets that the
first hundred to check out blinkist.com
techlead will get a free one-week trial
unlimited access and then if you
continue you also get 25 off the full
membership and keep in mind that this
seven-day trial is completely free no
risk you don't have to pay anything so i
would recommend you give it a try if you
haven't already it's a great service
blinkist.com tech lead alright so let's
get into the tips here and my first tip
for you to really understand here is
that programming is a physically
demanding activity i know that you think
all you have to do is just sit down in
the chair and it should be easy but it's
not quite like that in fact if you were
to just sit in your chair the whole time
your body would deteriorate so fast you
would become a slouch your back would
become hunched over your body will
deteriorate into the shape of a chair
you'll become incredibly unattractive
your eyes will dry out from staring at
the computer screen so long your skin is
not going to get enough sunshine such
that it's going to become all pale and
pasty and as you get deeper into
programming you start moving into the
basement into buildings without windows
it just gets darker and darker for you
until you eventually become like a
windigo so you need to understand that
good exercise and good sleep are
essential for any programmer and this is
something that i make sure i get for
myself every day if i were to go program
for a long period of time i'm going to
make sure that i get my exercise in as
well and i also have a very good sleep
routine not only that i make sure that
when i sit down i sit with my back
straight such that i have a good posture
because it's pretty funny if you were to
go to some of these tech companies you
see a bunch of programmers they look
really weird their backs are all hunched
over their necks have elongated as
they're peering deeper and deeper into
that computer screen and their gaze
their eyes just seem to glaze over all
the time i take a break every 30 minutes
and i also drink a ton of fluids such
that my eyes don't get too dry and i
think overall people just need to drink
a lot of fluids in general for my lunch
breaks i go out and make sure i get some
sunshine on my skin you know these are
all good habits that you need to build
up as a programmer to protect your
physical body is kind of like a sports
star sports stars have to go to the gym
hone their bodies build their muscles
make it perfect for their game and it's
no different for programmers except
programmers are kind of on that opposite
end of the scale where their bodies are
deteriorating completely weak and almost
falling apart destroyed into the shape
of a chair and then they just have to
try to protect their bodies and mold it
back into like a normal baseline so that
they don't appear too weird now my
second tip for you is have a get it done
attitude this is sort of kind of like
getting eighty percent of the work and
just shipping a product you know making
sure that you're getting things out the
door moving things along because
programmers tend to have a tendency to
just keep working on some strange little
funny problem and just keep debugging
something for hours and hours it's not
weird to hear programmers spend a whole
week working on some small stupid little
bug and just trying to untangle some
little puzzle in their head because it's
just so fun and they just get stuck in
this strange little loop that they're
trying to figure out you know to be a
really effective programmer you need to
keep your eye on the goal and then
reverse engineer what you need to do to
get your project out the door to ship
things a lot of people like to over
romanticize the technology the little
tools that they have the editors the
syntax coloring arguing about emacs
versus vim getting their keyboard
shortcuts all set up you know i don't
try to configure my environment such as
very weird i like my environment
actually to be pretty normal and then i
can be productive at any machine because
one of my goals is to be productive at
any apple store such that if i'm out
traveling remotely i can go to any apple
store and start working right there i'm
going to feel right at home there it's
funny that us programmers have something
called open source culture where we're
just going to start working on something
that never really ships right there's no
real end user there's no product we just
work on some framework and then polish
that framework over and over and add all
sorts of functionality to it but there's
no actual way to ship this and get money
from it it never really ends up in the
hands of users it never really gets you
any money it's just something that you
just polish over and over and just keep
doing that little thing over there and
you know that's not really results
oriented i guess i would say in fact if
you were to work in the industry you may
find that it's quite opposite from open
source culture where a lot of the code
is just duct taped stringed up hacked
together and then they just ship the
product and make sure that the product
looks good and that it's marketable but
it's not about refactoring the code over
and over again until it looks beautiful
and perfect and then you can upload it
to open source and then everyone's going
to celebrate how beautiful your little
piece of code looks my third habit for
you guys here is the concept of keep it
simple consistency once you get into
programming you're going to find that
there are hundreds if not millions of
ways to get things done you can write a
piece of code in a hundred different
ways you can refactor it a ton of
different ways and then things become
unmanageable when you or other people
are all doing things in a different way
and then you're trying to get that code
to interrupt with each other or you're
trying to read someone else's code
you're reading some code that you had
written a while back and you may find
that you're not able to reuse code you
may find portions of a program written
in many different ways you may find
views that are duplicated and then you
have like 5 10 20 copies of a certain
view programming is one of those fields
that is dominated by extremely arrogant
people
what these people like to do is they
like to over engineer their code they
like to show off how smart they are and
then they try to make things so
complicated and so twisted that nobody
else can read the code except them and
then they feel some sort of pride about
that but over time as you gain
experience you start to understand that
all of this is working against you you
need to keep code as simple and
consistent as possible and that's what's
going to help you be able to avoid
crashes avoid bugs quickly be able to
read and understand your code or other
people's code refactor things quickly
make changes debug code faster and it's
just going to help you shape your
product much more quickly habit number
four is to have a consistent way to get
in the zone
so the zone is one of the most
productive times for a programmer when
you're just coding and you're just
swimming through that code and you lose
track of time and before you know you've
written an entire program and this is a
period of time when you're not
interrupted by anybody else and you can
just have long stretches of time like
say three hours or so i would say where
you can just sit down and get some solid
code in and then make sure to budget my
personal time and to set expectations
for people around me such that people
understand that i need a specific
undisturbed period of time where i can
be productive programming is just one of
those fields where if you're interrupted
every say 10-20 minutes you're just not
going to be able to get anything done
because you need to build these larger
abstractions mental blocks in your head
and it just takes a longer period of
time to get that stuff done habit number
five always be learning sharpening
yourself getting out of your comfort
zone it's very easy when you're coding
to get stuck in a certain routine where
you're just doing a certain small subset
of an area and you can just do that for
a number of months or even years and
over time you may find though that
you're not really learning anything more
and then you become outdated so you need
to always be learning and only that one
of the key skills of programming is the
ability to debug and this has less to do
with the experience you have and more
with if you can learn an environment
understand how another program or system
is put together and then diagnose that
to figure out what the root cause of
some issue may be my sixth habit for you
is
collaboration when i began programming i
did a lot of things on my own and you
know i wanted to be that lone hacker the
lone programmer who just hideaway but
that's really not very effective and
it's all too common for me to see some
engineer go off into the woods a week or
two later they come back and they say
they've just been stuck on something and
they're not reaching out for help and it
just wastes huge amounts of time for
them and it destroys their productivity
this is why collaboration may be
important it's quite common that other
people within your vicinity or team may
have some ideas some clues about what
could be causing some issue not only
that programming is very much a team
sport right you're often interacting
with many other people's code if you're
pulling in some framework or if you're
working within a company environment
you're most likely working with a whole
bunch of other people and then your code
needs to integrate with other people's
code it's really like a sports team
right so it's not really a solo activity
although on the outside it looks like
you're just sitting there programming
all by yourself
in reality in that digital domain you
are a team player
and then my last and seventh habit for a
highly effective programmer
is to understand that programming may be
a lonely activity
and you just need to get used to it you
need to get used to spending large
amounts of time on your own this career
is not like being a doctor where you're
just talking with tons of people it's
not like being a cashier or a
salesperson or a manager or a consultant
in programming it tends to be more of a
solo activity
so
if all of your friends are out partying
networking going to parties talking with
other people you know that's fine for
them right because maybe they're going
to go out and become salespeople
consultants maybe they just don't really
need to spend three hours by themselves
in front of a computer get in the zone
but if you're set on trend to be a
programmer then you need to budget for
that sort of experience for yourself
where you're just going to be by
yourself spending three hours reading
some documentation it's funny that
programming may be one of the loneliest
careers i'm not sure of any other career
where people spend this much time alone
right like lawyers for example spend a
lot of time dealing with people
musicians teachers even scientists are
often dealing with their colleagues
discussing research and things like that
but programming programming you spend a
lot of time in that digital world where
you're oftentimes reading documentation
studying a piece of code debugging
something on by yourself and so what i'm
trying to tell you is that there's going
to be a time when other people are out
in the world socializing as they're
doing their job
and you're not going to be doing that
right you're going to be stuck at the
computer debugging some piece of code
that you've been trying to debug for
weeks and that's kind of where
programming comes in and you just need
to have that proper expectation so any
career has its highs and lows it's good
points and it's bad points and
programming is just one of those careers
that i think demands a little bit more
of your personal time
just you not you and your friends just
you
so just set those right expectations
budget for that and you'll be all set
let me know what your top habits are for
programmers if you like the video give a
like and subscribe and i'll see you next
time bye