I Wrote a Book on Growing as a Software Engineer
The Software Engineer’s Guidebook has taken more than four years to write – and it’s finally ready! I hope you find it a useful resource which serves your career well
Almost exactly four years ago, I decided to write a book. On 15 October 2019, I sent the pitch to a well-known publisher, answering their questions like these below:
In 1-2 paragraphs, summarize what the book is about, like you would pitch it to a potential reader on the back cover. What makes your book unique in the marketplace?
“There are few good resources on how to grow as a software engineer, beyond getting better at coding. There are a lot of good books on how to write clean code and refactor well, but few which help answer the big question: ‘how can I become a better software engineer, working at a tech company?’
Since becoming a manager, I’ve found myself helping developers grow to the next level. The more people I’ve mentored, the more I’ve found myself repeating similar advice. Some of it is technical, but a lot of advice has nothing to do with coding. It’s often about communication, influencing colleagues, making your voice heard, thinking strategically, and owning your career.
This book is a guide on growth as a software engineer, which I wish I could have consulted during my own developer career. No matter where you are in your software development career, this book provides a fresh perspective, and some new ideas on how to grow as an engineer.”
What will the reader learn, and how will they apply it?
“The book offers guidance on how to grow as an engineer at a tech company. It follows the structure of a typical career path for a software engineer, from starting as a junior, leveling up to an experienced engineer, all the way to being successful at the staff/principal/distinguished levels, making organization-wide impacts.
It summarizes key lessons I learned during my 10+ years as a developer and manager, and more recently my years spent mentoring and coaching engineers.
The book also addresses the most common challenges faced by engineers working at tech companies and fast-growing startups. It also touches on the use of modern tools and operating large systems, day-to-day.”
This was the pitch of the book to publishers. While awaiting their response, I got to writing it. The publisher ended up passing on the book – and so did a second one. A third publisher did offer a contract, but we parted ways a few months later when it became clear their rigid style guidelines would turn my book into something no longer in my voice. I knew exactly what I wanted to write, and how I wanted to write it. Going at it alone – by self-publishing – is the approach I’ve taken. I also promised myself to not publish the book until I was certain it was at the high quality bar I set for it.
Now, the book is finally ready! It’s been four years of writing, re-writing, and polishing the manuscript. Turns out, good things do take time. The book is called “The Software Engineer’s Guidebook.” It’s been my longest-running project to date – excluding raising children, that is! It’s also a project of which I’m very proud, and that I hope you would find valuable.
One reason this book took so long to write was that I started this newsletter two years ago. Writing two articles per week for subscribers helped me know when some parts of the book had to be rewritten in order to be totally up to date on release. As a result, the book contains actionable information on topics such as:
AI coding tools: already an essential part of the software engineer's toolbelt
Post-commit code reviews: a viable concept for some teams
Developer portals and code search tools: a toolset big companies have in place, as they help larger engineering teams move faster
Deployment strategies like feature flagging, canary deploys, staged rollout and multi-tenancy
… and many other modern engineering practices and timely topics – and just as many timeless ones, too!
Today’s issue is about the book, and some bonus resources which you get access to, as a subscriber. We cover:
What the book covers. A mix of “hard” (technical) topics and “soft” ones, with an emphasis on the “toolbelt for success” at Big Tech and startups.
A 100-page PDF with bonus material. Available to all newsletter subscribers: access it here.
Feedback by readers. What software engineers and engineering managers say about the book.
Look inside. 20 pages from the book. Access it here.
Where to buy it. Currently available as paperback, shipping to many countries. Get it here.
What the book covers
The Software Engineer’s Guidebook follows the structure of a typical software engineering career path, from starting as a fresh-faced software developer, through to being a role model senior/lead, all the way up to the staff/principle/distinguished level. It summarizes what I’ve learned as a developer and how I’ve approached coaching engineers at different points of their careers.
The book is unique in how it covers both the “hard” (technical) skills and the “soft” ones. To thrive as an engineer, you need both of these. You need to become increasingly an expert in coding and the related things – debugging, testing, refactoring, productionizing systems, planning for failures at increasingly large systems – as well as with things like communicating well with others, influencing your peers and managers, and owning your career. I haven’t really come across a book that attempts to cover both of these essential topics.
Here’s a glimpse at an extended table of contents, for a sense of what’s in this book:
To provide even more information about the topics in this book, I’ve created a more detailed table of contents. For example, here are the subsections covered in Part V: Role-model Staff and Principal Engineers:
As you can see, there’s a rich mix of “softer” areas like collaboration and being an influential voice, and more technical topics such as engineering practices, secure development, logging, architecture debt, and more. Parts II (Software Developer), III (Senior Engineer) and IV (Tech Lead) all have a similar split between these two distinct areas that are still connected. Getting the right balance of soft and hard topics is one reason this book took years to write.
A 100-page PDF of bonus materials
The book is longer than many similar books. My goal has been to cover all important technical and non-technical parts of a software engineering career. Most non-fiction books are around 50,000-80,000 words in length; this one is around 135,000 words long – almost double the word count! The book is made up of 413 pages, on a larger-than-usual print of 7x10 inches, to keep its thickness at bay. The India version of the book is 453 pages, with identical content. The reason the India edition is longer is due to a smaller print size of 7x9 inches.
The quantity of information equates to around 30 issues of The Pragmatic Engineer newsletter issues in word count terms. Believe it or not, the book could have been even longer, and I have removed quite a lot. Some of this material is available online for buyers of the book, and newsletter subscribers.
All newsletter subscribers have instant access to 100 pages of bonus chapters. These bonus chapters are a mix of new writing, and reworked and updated newsletter issues which complement the book. To get access, simply sign up for the newsletter:
Full subscribers can also access this resource here.
Praise from readers
Several people read the book prior to publication. Here’s what they have to say about it:
Tanya Reilly is a senior principal engineer at Squarespace, and author of “The Staff Engineer’s Path” – of which we shared an excerpt last December. She says:
“From performance reviews to P95 latency, from team dynamics to testing, Gergely demystifies all aspects of a software career. This book is well named: it really does feel like the missing guidebook for the whole industry.
The book puts mental models and structures on things that are usually unwritten; all the rules, conventions and assumptions that engineers eventually just know, but that nobody ever teaches. I feel like this book will ‘unlock’ the industry for engineers, removing a big barrier to people feeling like they belong.”
James Stanier is a director of engineering at Shopify, and contributed the guest post, Efficient Remote Work for Teams. He is also author of the books “Become an Effective Software Engineering Manager” and “Effective Remote Work.” In his words:
"This book is the coach I wish I’d had when I started out in the tech industry! Spanning a huge range of topics from technical to social in a concise manner, this belongs on the desk of any software engineer looking to grow their impact and their career. You'll reach for it again and again for sage advice in any situation."
Chris Seaton is a Tech Lead at Skiddle, and sums the book up like this:
“The beauty of this book is that it covers multiple rungs of the career ladder, with enough concepts to give even the most experienced developers something new to consider. Even with 17 years in the industry, I still found new ideas to use. It's a real treasure trove of actionable information.”
There are several more quotes from professionals like Alex Xu – author of the “Systems Design Interview” series or from Roberto Vitillo, Principal Engineer at Amazon. Read these here.
A sample from the book
So what is the book like? It’s best to see for yourself: peek inside the book. The sample covers excerpts from three different parts of the book, so you can get a good sense of what you can expect.
If you’ve been enjoying the newsletter: I am pretty certain you’ll find the book a useful resource.
Where to buy
Purchase the book via its website. It’s available in paperback, and ships to dozens of countries from 12 Amazon marketplaces, covering:
US and Canada (covering most of Americas)
UK; shipping to numerous other countries from there
Most of Europe; available from Amazon Germany, Netherlands, France, Spain, Italy, Poland and Sweden. Many of these marketplaces also ship to other European countries
India (covering neighbouring countries)
Australia and New Zealand
In India, the book can also be ordered through Shroff Publishers, which offers an additional 10% discount and free shipping for direct orders.
If the book is not available to ship to your country, please share details here. I’ll aim to make the print book available to order in more countries, and knowing where the book is not yet available helps with this.
What about an e-book or audiobook? For the launch, the book is print only, as my goal is to create a reference book that’s worthy to be held as a physical object. I’m planning an e-book (Kindle and ePub) and an audiobook as follow-ups, but both will take more work. Sign up to get an email when these versions launch. (I will, of course, mention them in the newsletter: so if you are a regular reader of the newsletter and plan to remain one; you can skip that signup).
Four years ago, I resolved to write this book. Three years ago, I left Uber and my primary goal was to finish this book. Two years ago, I was debating whether to launch a newsletter, or to hunker down and finish this book.
It’s a fact I could not be happier with the decision to go with the newsletter, but the unfinished book has weighed heavily on me, ever since. Ironically, writing the newsletter illuminated the parts of the book which urgently needed updating and rewriting: pushing the book release date even more.
I hope you agree the book was well worth the wait, and that its ideas serve you well for years to come.