"The Senior Software Engineer" Book Writeup
July 31, 2014
What’s the point?
By the time you’ve been coding for a few years, the skills needed to advance into a technical leadership role involve more than just learning a new framework or language.
To be a senior engineer — trusted by both developers and management — you need to focus on delivering results with software and aligning yourself with the needs of the company. By combining strong development skills with the ability to write clearly, make convincing technical arguments, and lead a project from start to delivery, you can become an amazing senior engineer.
How was it?
The book covers topics that range from leading a team by example to making decisions when starting a project to interviewing potential hires. It seems like a whirlwind tour, but each section is digestible and focused on practical actions you can take.
My biggest mental shift came from the first chapter, which emphasizes a laser-focus on delivering results. Most of us think we are “result-oriented” but upon closer inspection, we often lack a true focus on delivering value. An email promising you’ll “look into it” doesn’t provide value and is an implicit promise that you may not be able to uphold.
When providing technical recommendations, remember to consider the priorities of the other parties. Something that is important to you (as a developer) might be near the bottom of the list for your manager or client. By considering outside priorities, you can enter discussions in the right mindset and be better prepared to address concerns.
These are all things that might seem obvious in hindsight, but it was beneficial to have them all spelled out (directly in the context of software) and reinforced with examples.
The book is also the best description of how I work on a daily basis and aligns closely with my own views on technical debt vs slop. I wish I could have read this book about a year ago, as I started moving into a more senior role.
Who should read it?
For a junior developer, use this book as a means to compare and contrast the mindset of a senior engineer with your own ways of working. For a senior (or soon-to-be senior) developer, this is your missing handbook. Highly recommended.