[Book Reviews] The Software Engineer’s Guidebook

Thanaphoom Babparn
6 min readApr 6, 2024

Hello everyone! Thank you for interesting in my blog post about review book again. Recently I read the book “The Software Engineer’s Guidebook” which I can say it’s one of the best book for software engineer career no matter field/platform you are. I learned so many things from the book. Also, I will definitely adapt what I learned to my life.

Let’s start my opinion about this book. 🙇‍♂️

The Software Engineer’s Guidebook

The book contains around 400 pages and I think most of the book related to software engineering is around 300–600 pages. Therefore, The size of the book is okay for you bag. I also took it to read on the train when I commute to my office, traveling around and so on. You can simply plan to read 1 topic per day and you will complete this book around a month.

The topics from this book are practical. After you read for 2–3 Parts, you have no question about the practical experience on the book and you can reflect to the world right away. I think it can reference to each career level and able to guide to who work in software career path like me.

Detail in brief

This book has separated to big 6 parts

  1. Developer Career Fundamentals
  2. The Competent Software Developer
  3. The Well-Rounded Senior Engineer
  4. The Pragmatic Tech Lead
  5. Role-Model Staff and Principal Engineers
  6. Conclusion

Developer Career Fundamentals

This section is the introduction of the book. Most of the content is to understand the meaning of software engineering and the topics you need to know when you are working as software engineer such as types/tiers of companies, typical of career path, compensation, profit centers & cost centers, promote career level with performance review and etc.

The section mostly sharping the way how you think of career, How to understand the possible ways of the expanding your career, some people will move to business career, some people go deeper and deeper, some people work on varies of technologies. By the way, All of the career is unique depending on your expectations and goals. You are the one who taking charge on the career and take responsibility for it. So along the way you growth, Keep the work logs and ask for feedbacks.

The Competent Software Developer

Software development is taking years to become better and better. The foundation of your career will start here and it will make you see your future in short-term/long-term clearly. As of entry level of career, your expectation when working on the projects might on the smaller impact or on the tasks instead of designing the project and architecture. Seek the way to unblock yourself and hungry to learn. Later when changing to mid-level, the ambiguity of project will higher and higher. You need to understand the important of your time, breaking your task to milestone and need to prioritize your task. Learn to say no sometime if it’s not so urgent.

On this level, you need to exploring about the best practice of the technologies/frameworks/platforms you are diving to. Learn to write quality code and find the opportunities to apply it until it turn to your instinct. Find the way how you complete your task more quality and faster e.g. using AI or writing automated test.

The Well-Rounded Senior Engineer

The expectation of senior title is unique depending on the company and organization. And can be different across tiers of companies.

Senior engineer will work on medium-sized or more complex projects. Work independently and less of guidance. Furthermore, they need to mentoring other engineers, follow team/organization practice and sometimes improve them. Also collaboration across the team under organization to achieve the project goal.

One way to prioritize inbound work

The Pragmatic Tech Lead

Expectation of tech leads are usually similar of senior engineers with addition of leading projects. Most of the times can overlap with engineering manager on strategy & alignment part when need to communicate across the stakeholders. Anyway, Tech lead tend to take on management for helping people better align. But engineering manager responsible for managing people.

The topics relate to tech lead are how to estimate the milestone, managing, and shipping the project efficiently.

How each role spend most of their time

Role-Model Staff and Principal Engineers

This IC path might doesn’t exist in some company. And the company where this role exists may put an effort or contribute a lot of value on engineering practices. Why? Because this role need to deal with the complex projects within the company and the impact for them is on the company level. Not just the product, but including groups, departments, tech teams. Unblocking the other to solving the complex project. Takes initiative to solve problem and find problems worth solving.

Staff+ is a partner of engineering managers and product managers. They need to understand the business in depth and know it’s worth to solve and when to solve it. Staff+ level tend to have many years of the same business domain but it’s depending on the unique career goal of individual.

Ratio of how you spend time for the role

Conclusion

The last section tend to focusing on the mindset for software engineer who want to grow faster. Know the possible way to expand the community, the approach of learning and understanding pros/cons for the approach. Last but not least, told you when you need to take a break.

Software development vs Software engineering

Software development refers to the process of building software

  • Outlining a basic plan
  • Coding
  • Testing
  • Deploying
  • Debugging

Software engineering is a lot of broader than only development

  • Gathering requirements
  • Planning a solution and analyzing tradeoffs between approaches
  • Building the software
  • Shipping to production
  • Maintaining the solution
  • Extending the solution to new use cases
  • Migrating to other solutions

Be better in writing will help other people a lot

The one tips that I really like it on the book and I realized for really long time. Be better in writing is really important. Let’s say you need to understand the requirements or PRD, you might love to read the documentation that well writing and concise instead of long stream of word without meaning. The other example is when you are working on new frameworks, you might also need to learn by read documentations. If the document doesn’t have a good developer experience. You might end up having bad mood. I believe this blog from Pragmatic Engineer will help you understand the importance of writing in software engineering.

My review opinion

Rating: 5/5

That’s easy for me to give this rating. Well organized, Well structured, Well prioritized depending on career path. On each section contains detail and guide you to become better person, better in career, better in managing time, projects, people. I can imaging my journey along the book and understand what I need to do for each career level. Thank you for published this book. 🙇‍♂️

I hope you enjoy my review so far. See you in the following review book blogs. Furthermore, You can reach me at the below links.

Facebook: Thanaphoom Babparn
FB Page: TP Coder
LinkedIn: Thanaphoom Babparn
Linktree: https://linktr.ee/tpbabparn

--

--

Thanaphoom Babparn

Software engineer who wanna improve himself and make an impact on the world.