What’s Inside

1. Career paths
2. Owning your career
3. Performance reviews
4. Promotions
5. Thriving in different environments
6. Switching jobs

7. Getting things done
8. Coding
9. Software development
10. Tools of the productive engineer

11. Getting things done
12. Collaboration and teamwork
13. Software engineering
14. Testing
15. Software architecture

16. Project management
17. Shipping in production
18. Stakeholder management
19. Team structure
20. Team dynamics

21. Understanding the business
22. Collaboration
23. Software engineering
24. Reliable software engineering
25. Software architecture

Bonus #1: for Part 1
Bonus #2: for Part 2
Bonus #3: for Part 3
Bonus #4: for Part 4
Bonus #5: for Part 5

See more details for each chapter in the extended table of contents for the book.

Book Reviews

You need to understand ‘the lay of the land’ and know how to thrive in different environments in order to progress as a software engineer. The Software Engineer’s Guidebook goes beyond helping just with this: it does a comprehensive job covering areas that engineers need to know of in order to keep progressing at each engineering level in the tech industry.”

Nielet D’mello, Software Security Engineer at Datadog

“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.”

Chris Seaton, Tech Lead at Skiddle

A treasure trove of perspectives, suggestions and ideas. These will help you move to the next level no matter where you are in your career.”

Roberto Vitillo, Principal Engineer at Amazon, author of Understanding Distributed Systems

Read more reviews:

  • “I’m almost 100% sure that you’ll also read about ideas that are completely new to you. A recommended read.”- review by Sandor Dargo, Senior Software Engineer at Spotify
  • “Even five years into my career, there are topics in this book that I simply didn’t understand, particularly where you only really get visibility as a manager.” - review by Will Larson, engineering leader, author of The Enineering Executives Primer and other books
  • “This book effectively combines technical expertise with an intriguing narrative.” - review by Mahendra Rao B, technical architect
  • More reviews on on Goodreads and on Amazon

How to Read the Book

The book is separated into six standalone parts, each part covering several chapters:

  • Part 1: Developer career fundamentals
  • Part 2: The competent software developer
  • Part 3: The well-rounded senior engineer
  • Part 4: The pragmatic tech lead
  • Part 5: Role-model staff and principal engineers
  • Part 6: Conclusion

Parts 1 and 6 apply to all engineering levels: from entry-level software developers to principal or above engineers. Parts 2, 3, 4 and 5 cover increasingly senior engineering levels. These four parts group topics in chapters – such as ones on software engineering, collaboration, getting things done, and so on.

This book is more of a reference book that you can refer back to, as you grow in your career. I suggest skimming over the career levels and chapters that you are familiar with, and focus reading on topics you struggle with, or career levels where you are aiming to get to. Keep in mind that expectations can vary greatly between companies.

In this book, I’ve aimed to align the topics and leveling definitions closer to what is typical at Big Tech and scaleups: but you might find some of the topics relevant for lower career levels in later chapters. For example, we cover logging, montiroing and oncall in Part 5: “Reliable software systems” in-depth: but it’s useful – and oftentimes necessary! – to know about these practices below the staff engineer levels.