
The approach to and understanding of software engineering at Google is unlike any other company. With this book, you'll get a candid and insightful look at how software is constructed and maintained by some of the world's leading practitioners. Titus Winters, Tom Manshreck, and Hyrum K. Wright, software engineers and a technical writer at Google, reframe how software engineering is practiced and taught: from an emphasis on programming to an emphasis on software engineering, which roughly translates to programming over time. You'll learn: Fundamental differences between software engineering and programming How an organization effectively manages a living codebase and efficiently responds to inevitable change Why culture (and recognizing it) is important, and how processes, practices, and tools come into play
And, yep, it's worth a read.
1. Code: The Hidden Language of Computers (Pure Basic: Starting with Binary)
2. Working Effectively with Legacy Code (Dealing with an ugly codebase)
3. Refactoring Improve the design of the existing codebase (Making changes safely without breaking the code)
4. Test-Driven Development (TDD) (Once you’ve learned all the above, you always start writing tests first)
5. Head First Design Principles (Terminology and concepts for maintainable and extendable design)
6. Algorithms to Live By (Algorithms are fundamental ideas before we write any code)
7. Git Pro (Software cannot run without a Version Control System (VCS). We use it every minute of our working day)
8. Your Code as a Crime Scene (Finding problems in the code using code history)
9. Data-Intensive Applications (Databases are everywhere)
10. Software Engineering at Google (Addressing the biggest scaling problems)
Honorable Mentions:
1. Clean Code (Writing code that is easy to understand by other developers)
2. The Soft Skills (Coding alone is not enough to be a great software engineer)
3. Peopleware (Managing software teams).