The Software Engineer's Guidebook
This is a book written by Gergely Orosz, the author of one of the most famous technology newsletters, The Pragmatic Engineer. With more than a decade of experience working in Big Tech, he is now a prolific writer with a pretty large audience. His posts about the tech industry are usually highly interesting and insightful.
The book is structured like a ladder, starting with developer career fundamentals and ending with recommendations for Staff and Principal engineers. Each level of the ladder — a part of the book — covers the most important career nuances of that specific level. For entry-level engineers, it discusses valuable coding and software development practices. The parts for seasoned engineers and managers are more focused on software architecture and team dynamics. I believe anyone working in tech can find something helpful in the book, regardless of years of experience.
There are several insightful ideas that I found particularly interesting.
- A chapter about common career paths in tech companies (single vs. dual track) can help you choose or evaluate your professional track. It’s a well-structured overview of the current state of tech job opportunities.
- The significance of getting things done is discussed several times throughout the book. The author argues — and my own experience completely supports him — that the ability to get things done is a crucial skill for software engineers. The book offers much useful advice for improving in this area.
- Another fascinating idea is the definition of a product-minded engineer. Being product-minded in this sense is becoming increasingly valuable in light of the relentless advance of AI in software. Coding skills alone are far from enough.
On product teams, engineers who tend to make the most impact are what I call product-minded engineers. They are developers with an interest in the product itself; they want to understand why decisions are made, how people use the product, and love being involved in product decisions.
Speaking of the book’s downsides — though there aren’t many — the author is somewhat repetitive at times. As an example, the repeated emphasis on being kind to your colleagues is slightly annoying. We all know that kindness is a virtue, don’t we? But otherwise, the language and style are really good — the book is easy to read and follow. The author’s writing skills are probably one of the major reasons for his large audience and successful newsletter. He even has a dedicated blog post on the importance of writing well for software engineers, which is worth reading.
To summarize, a major value of the book is that it serves as a reference. You can re-read specific chapters at different stages of your career and still find new insights. My overall impression is really positive, and I would definitely recommend ✅ reading this book.