;
Arrow!

Book Review: Modern Software Engineering

MAY 20, 2026 | OMNITECH ENGINEERING TEAM

Our Spring book club was Modern Software Engineering written by Dave Farley. Farley has decades of experience, was a co-author of Continuous Delivery, and has a very informative YouTube channel, ModernSoftwareEngineeringYT

Farley shares 10 foundational approaches that will help you “build better software more efficiently”. He didn’t dive deeply into the technical parts of code, but defined terms and shared stories to lay the foundation. This book and the lunch discussions were an excellent review of the many books we’ve read and the concepts we teach to interns, residents, engineers, and our clients. Optimizing learning and managing complexity have been tenets here for a long time.

Core Principles & Takeaways: 

Overall, we found Modern Software Engineering to be a strong refresher and valuable summary of foundational concepts such as iteration, modularity, and separation of concerns. We appreciated the focus on iterative, modular development, emphasizing how smaller, decoupled components enable faster, more testable development and the importance of managing complexity. These discussions reinforce the team’s shared approach to software development and continuous learning. 

Organizational and Cultural Insights: 

The book shines in building the organizational and cultural responsibilities of engineers. Farley’s argument that there is no real trade-off between speed and quality—cutting corners ultimately slows long-term progress. The notion of a "duty of care" in engineering resonated, aligning with the belief that quality work is foundational for sustainable software development. This is a core principle at Omnitech, and a reminder that this responsibility is an ongoing process and highlights the need to be a lifelong learner. 

Critique of Clean Code Philosophy & Methodology: 

While the book aligned with the "clean code" philosophy, concerns were raised regarding its application and depth. We noticed a lack of discussion about the tradeoffs between flexibility and complexity in software. Change amplification, hidden coupling, debugging friction, and the indirection tax were rarely addressed in the book. The content was informative but at times repetitive, with advice that felt familiar from other sources.  

Modern Software Engineering aims to distill and reinforce foundational principles of software engineering. The essential concepts that were covered are a great refresher. While not a perfect book, it was a perfect title for us to discuss before we welcome our new interns for the Summer! 

Share Our Blog
Back To Blogs