How do you manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum K. Wrigh...

Buy Now From Amazon

How do you manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum K. Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world's leading practitioners construct and maintain software.

At Google, software engineering represents roughly 80-90% of the work, while only 10-20% of the time involves original programming. Most teaching on this subject concentrates on programming, but little on software engineering. By emphasizing three fundamental principles that software organizations should keep in mind when designing, architecting, and writing code, this book explains:

  • Fundamental differences between software engineering and programming
  • The software engineering lifecycle from code development to testing to deprecation
  • How to effectively manage your codebase and efficiently respond to change
  • Why culture is important, and how processes, practices, and tools come into play
  • Tradeoffs: how an organization makes optimal software decisions by keeping time and scale in mind


Similar Products

UNIX: A History and a MemoirBPF Performance Tools (Addison-Wesley Professional Computing Series)Database Internals: A Deep Dive into How Distributed Data Systems WorkAn Elegant Puzzle: Systems of Engineering ManagementThe Pragmatic Programmer: your journey to mastery, 20th Anniversary Edition (2nd Edition)Building Secure and Reliable Systems: Best Practices for Designing, Implementing and Maintaining SystemsMonolith to Microservices: Evolutionary Patterns to Transform Your MonolithFundamentals of Software Architecture: An Engineering Approach