Hyrum Wright,Titus Winters,Tom Manshreck

Software Engineering at Google

Notify me when the book’s added
To read this book, upload an EPUB or FB2 file to Bookmate. How do I upload a book?
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering.
How can software engineers 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 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. This book covers Google’s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization.
You’ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code:
How time affects the sustainability of software and how to make your code resilient over timeHow scale affects the viability of software practices within an engineering organizationWhat trade-offs a typical engineer needs to make when evaluating design and development decisions
This book is currently unavailable
932 printed pages
Have you already read it? How did you like it?
👍👎

Quotes

  • Vladyslav Klymenkohas quoted4 years ago
    earlier we find a problem, the cheaper it is to fix it
  • Vladyslav Klymenkohas quoted4 years ago
    Bus factor (noun): the number of people that need to get hit by a bus before your project is completely doomed.
  • Nikolay Tyorovhas quoted4 years ago
    We see three critical differences between programming and software engineering: time, scale, and the trade-offs at play. On a software engineering project, engineers need to be more concerned with the passage of time and the eventual need for change. In a software engineering organization, we need to be more concerned about scale and efficiency, both for the software we produce as well as for the organization that is producing it. Finally, as software engineers, we are asked to make more complex decisions with higher-stakes outcomes, often based on imprecise estimates of time and growth.

On the bookshelves

fb2epub
Drag & drop your files (not more than 5 at once)