7 min

14 Habits of Highly Productive Developers: Book Review

This article is a review of this great book and of some of the habits it covers šŸ“š

Felipe Fialhostaff engineer Ā· front-end and AI

Ler em portuguĆŖs
On this post
  1. About the book
  2. Fun Fact
  3. About habits and consistency
  4. Saying ā€˜No’
  5. Finite and Infinite Games
  6. Writing code for our future selves
  7. Take an interest in the business
  8. Side projects
  9. Specialist or generalist?
  10. Controlling the variables
  11. Conclusion

This post is a text version of the video ā€œ14 Habits of Highly Productive Developers: Book Reviewā€ that I published on my YouTube channel (in Portuguese).

It’s worth watching! 😊

About the book

The book 14 Habits of Highly Productive Developers was written by the Brazilian Zeno Rocha and quickly became a best seller, in both the English and the Portuguese versions.

It focuses much more on non-technical habits than on technical factors, and manages to be interesting both for people early in their careers and for people who already have some experience in the field.

At the end of each habit, there’s a section called ā€œQuestions and Answersā€, where senior developers and tech leaders at some of the biggest companies in the world are interviewed and share their personal take on how they deal with each habit.

Disclaimer: The goal of this post is not to go through every habit in the book, but to talk about some parts that caught my attention.

Fun Fact

Something funny happened while I was at my parents’ house. My dad was watching me read on the Kindle, and he got super curious about the device.

When I finished reading, I left it on the table and he started poking around, and after a while he finally managed to turn the Kindle on šŸ˜‚

The book that was open happened to be 14 Habits of Highly Productive Developers, so he read the last two chapters, liked them a lot, and even ended up telling my mom about some of the things that were written there.

So, unlike a lot of tech books, this one is a very smooth read and can appeal even to people who don’t work with development.

About habits and consistency

Consistency is important in personal life and this same concept also applies to our professional careers. The habits we decide to cultivate (or not to cultivate) will determine part of our future life opportunities. They seem to make little difference on any given day and yet the impact they have over the months and years can be enormous. It’s only when you look back two, five or maybe ten years later that the value of good habits and the cost of bad ones become surprisingly apparent.

This is a book about habits, and habits only become part of your routine if you practice them every day, so at the end of each chapter there’s also a section called TO-DO, with a few tasks to help consolidate these habits in your day to day.

Saying ā€˜No’

One of the things covered in the book that I still struggle with a lot today is practicing the subtle art of saying no.

Saying no to that new lib that just came out and isn’t worth using yet, saying no to that invitation to speak at some event, or saying no to taking on new commitments that suddenly don’t make sense right now.

We need to learn to say no more often so we can say yes to the things that really matter to us.

Finite and Infinite Games

In 1986, the philosopher James Carse released his book Finite and Infinite Games: A Vision of Life as Play and Possibility, where he introduced two types of games: Finite and Infinite.

A finite game has known players, fixed rules and established goals.

For example, soccer is a good example of a finite game.

An infinite game, on the other hand, is defined as one with known and unknown players, where the rules can change at any time and the goal is not to win, but to keep playing.

That makes programming an infinite game.

That’s because new people are always entering the job market, new concepts show up every day, new patterns are invented and new problems (and bugs šŸ˜…) appear when we least expect them.

People who play the infinite game care less about intensity and are more focused on consistency. That’s because it’s impossible to sustain intensity for long periods when playing infinite games. Sure, eventually we’ll need some intensity, but it’s unlikely that we can keep it up for very long.

In infinite games we don’t know exactly when we’ll see results, since each person is different and there are thousands of variables, so results will show up at different times.

So, we need consistency and not intensity.

Writing code for our future selves

Another cool point the book makes is to always ask ourselves whether our future self will understand the code we’re writing right now.

That’s because we often write code for our current self, but we need to write code thinking about our future self. Our current self has all the context needed to understand the code written today, while our future self may be a completely different person, who will be involved with other things and probably won’t remember what function X or method Y means.

This automatically helps us write more readable code, both for ourselves and for other people.

Take an interest in the business

There are two other super important habits in the book that I also mentioned in the video about 10 things I would do if I were starting my career as a developer (in Portuguese).

One of those habits is about the importance of always going beyond code and getting to know better how other areas that impact our work operate, as well as the business side.

Understanding more about everything that impacts our day to day is important, even so that we can be more accurate when estimating costs and development time for certain tasks. That’s something people at all seniority levels struggle with.

Side projects

The other habit is something I talk about a lot: creating side projects, like open source projects, to learn new technologies and improve some skills.

Sometimes it’s not easy to stay motivated to keep working on these projects, so the book compiles some questions we can ask ourselves before getting involved in or starting side projects.

The importance of creating side projects to boost a career is huge, and I’ve already talked about it in other articles, like How to contribute to Open Source.

Specialist or generalist?

There’s also an entire chapter on a question people always ask me:

Should I be more of a specialist or more of a generalist?

The book’s point of view matches what I think, which is… be a little more of a generalist.

At some points in our careers we’ll go deep and be more specialized in certain subjects, and at other points we’ll be more generalist, especially when we’re in leadership roles.

I mentioned this in the article What do Front-end Developers need to know? (in Portuguese)

Controlling the variables

The book also gets into a philosophical topic I really like, which is Stoicism. I even have a Twitter thread about it:

O que Ć© Estoicismo e como pode ajudar na sua vida?

Faz sƩculos que a filosofia estoica tem sido utilizada por homens e mulheres na eterna busca de mais controle sobre suas ansiedades, medos e anseios.

Importante no cada vez mais imprevisĆ­vel... mundo moderno.

[segue o fio] pic.twitter.com/0PM0aH08dQ

felipe.md ⚔ (@felipefialho_), January 17, 2020

In life there are things we can control and things we can’t. One of the central ideas of Stoicism is to always focus our actions on the things we can control and to learn how to react to the things we can’t.

Talking with Zeno right at the beginning of the pandemic, we discussed the situation we were (and still are) living through and how we really have no control over anything that’s external to our own lives.

After all, we only control our actions and reactions. He told me then that he would take advantage of that moment to write a book, and that’s what happened.

That’s a variable we can control, that is, how we use our time.

Adopting good habits that can improve our personal and professional lives is one of the variables we can and should control, and in the end that’s one of the biggest messages the book delivers.

Conclusion

If you liked this, I’ll leave the link below to buy the book, and also to buy the Kindle, which is a purchase I highly recommend to help improve your reading habits:

Cheers! 😁

$ grep -r
$ cookies --config
privacy policy