Books every software engineer should read

Vatsal Patel

Vatsal Patel / July 18, 2021

5 min read––– views

Books

I wouldn't say i'm an avid book reader. But I like to dabble in them especially when they relate to what i'm experiencing in that moment in time. I've listed some books below which I recommend reading and the key points I took away from them. (Sorry for the clickbait)

The Effective Engineer

This has helped me question my engineering in the midst of my everyday jobs and ensured that the work I do is contributing to my own development as an engineer.

For who?

  • Software enginners ( especially junior engineers )

My learnings

  • Focus on high leverage activities: He states a simple formula; leverage = impact / time invested. Often times when writing code we go down rabbit holes and spend lots of time improving or adding code with little to no impact. This formula is definitely one I remember every time I need to decide where to spend my time. Should I just build on legacy code or should i spend the extra time to refactor it? Using the formula for scenarios like this helps me to make informed decisions.
  • Optimise for learning: One which everyone knows but it often ends up being neglected. It's simply to make sure you are learning and not doing work because you have to. When you get an opportunity to learn something new or improve your current knowledge grab it with both hands. Its the biggest investment you can make. Try and understand everything you do and only then move on. I've being guilty myself of moving on from something as soon as it works. But usually spending that extra time to understand why it has started working is a good investment. It might slow you down a bit right now but in the long term you and your team will benefit
  • Measure what you want to improve: This is closely linked to the first takeway. We need to know the thing we are doing is working. I've built features and introduced processes without knowing if they actually work or not. Again this requires extra time and effort to set up but it helps to avoid a lot of wasted effort.
  • Validate your ideas early and often: This is again similar to the above points. It means making sure you build in iterative steps and getting feedback as early as you can. This can be things like seeing how your feature or product is being used or getting actual feedback from yuor user. Validating early is key to understanding if your're on the right track.

Link to the book

4 Disciplines of execution

I'ev have had to lead projects which require behaviour changes from my team either at work or when volunteering. Its a difficult task and one where knowledge and experience are equally important. This books covers the knowledge. I am yet to try out the principles and see if it helps me to improve my leadership skills but it has definitely sparked a few ideas. The book details 4 steps or disciplines which help leaders execute strategic priorities. It helps to read this book with some prior experience in trying to lead projects that require behaviour change.

For who?

  • Aspiring and current leaders

My learnings

  • Discipline 1 Focus on the Wildly Important Goals (WIG): Ensure focus. The teams focus should be on one or two high impact goals, not more. There will always be something more you can work on. It's allabout picking your battles. I really like a quote of Steve Jobs mentioned in the book - "I'm actually as proud of the things we haven't done as the things I have done".

  • Discipline 2 Act on the lead measures: Once the 1-2 WIGs have been decided you then need to think about the 1-2 lead measures for each WIG. WIGs are usually strategic goals which are hard to change straight away, things like revenue, customer satisfaction score and losing weight. The results of the hard work you do now will not affect these WIGs enough to be able to measure progress. Thats where lead measures come in. These are goals which have short feedback loops. They have immediate measurable impact. They are not substitues for your WIGs but rather predictors. They should be chosen such that when you see progress in your lead measures you can be damn right certain that the progress on your WIGs will also move (although by a much lesser degree).

  • Discipline 3 Keep a record: A lot of projects have goals and lead measures but no one can see if they are being acheived. The third discipline states the need for a simple and easily accessible scorecard showing the progress towards your WIG and lead measures. This gamifies the goals which drives motivation and increases engagement from yourself and your team. A good example I like from the book is scoreboards in sports games. Without scoreboards, crowds in stadiums would have no reason to cheer and be enganged in the game.

  • Discipline 4 Encourage accountability: Having set up the necessary foundations in the first 3 disciplines the fourth wraps them up and completes the circle. It involves holding weekly (or more frequent) meetings where the team discusses their progress on the WIGs and lead measures and make commitments on how they can push the lead measure. It's important that these commitments come from the members themselves to keep engagement high. I think this might be the toughest one as it inolves influencing others but perhaps the most rewarding and critical. I have yet to try it out for myself.

Link to the book

Don't miss out on new blogs and videos

Get a short email from me when I release a new video or write a new blog.