Software Engineering at Google Lessons Learned from Programming Over Time 1st Edition by Titus Winters, Tom Manshreck, Hyrum Wright – Ebook PDF Instant Download/Delivery: 1492082791 978-1492082798
Full download Software Engineering at Google Lessons Learned from Programming Over Time 1st edition after payment
Product details:
ISBN 10: 1492082791
ISBN 13: 978-1492082798
Author: Titus Winters, Tom Manshreck, Hyrum Wright
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 time
- How scale affects the viability of software practices within an engineering organization
- What trade-offs a typical engineer needs to make when evaluating design and development decisions.
Software Engineering at Google Lessons Learned from Programming Over Time 1st Table of contents:
-
Introduction
- Why Software Engineering Matters
- The Evolution of Google’s Engineering Culture
- A Look at Google’s Software Engineering Practices
- How This Book Can Help You Improve as a Software Engineer
-
Chapter 1: Engineering Culture at Google
- The Importance of Collaboration and Teamwork
- Building High-Performing Engineering Teams
- Google’s Approach to Code Quality and Technical Excellence
- Knowledge Sharing and Mentorship at Google
-
Chapter 2: Code Reviews and Development Best Practices
- The Role of Code Reviews in Google’s Engineering Process
- Best Practices for Writing and Reviewing Code
- Maintaining Code Quality at Scale
- Creating a Culture of Constructive Feedback
-
Chapter 3: Managing Complexity in Large Codebases
- Challenges of Large-Scale Codebases
- Strategies for Keeping Code Simple and Maintainable
- Refactoring and Dealing with Legacy Code
- Managing Dependencies and Modularity
-
Chapter 4: Software Testing at Google
- The Role of Automated Testing
- Writing Effective Unit Tests and Integration Tests
- Continuous Integration and Continuous Deployment
- Testing at Scale: Load Testing and Performance Testing
-
Chapter 5: System Design and Scalability
- Principles of Designing Scalable Systems
- Google’s Approach to Distributed Systems and Cloud Infrastructure
- Load Balancing, Caching, and High Availability
- Case Studies of Google’s Large-Scale Systems
-
Chapter 6: Data-Driven Engineering
- Using Data to Drive Decision-Making
- Collecting and Analyzing Metrics
- A/B Testing and Experimentation at Scale
- Improving Performance with Data
-
Chapter 7: Infrastructure and DevOps at Google
- Building and Maintaining Robust Infrastructure
- Google’s Approach to Automation and CI/CD Pipelines
- Managing Reliability and Redundancy
- Security Practices in a Large-Scale Infrastructure
-
Chapter 8: Collaboration and Communication in Engineering
- The Role of Communication in Engineering Teams
- Writing Effective Technical Documentation
- Cross-Team Collaboration and Knowledge Sharing
- Agile and Scrum at Google: Project Management and Engineering Efficiency
-
Chapter 9: Career Development in Software Engineering
- How Google Fosters Growth and Development for Engineers
- Mentorship and Leadership in the Engineering Community
- Evolving Your Career from Developer to Architect and Beyond
- Balancing Technical and Managerial Roles
-
Chapter 10: The Future of Software Engineering
- Emerging Trends in Software Development
- The Impact of Artificial Intelligence and Machine Learning
- The Role of Engineers in Shaping Future Technologies
- The Evolving Role of Software Engineers at Google
-
Conclusion
- Key Takeaways from Google’s Engineering Practices
- Continuing to Evolve and Improve as an Engineer
- Applying These Lessons to Your Own Work
-
Appendices
- Appendix A: Google’s Software Engineering Career Ladder
- Appendix B: Further Resources on Best Practices in Software Engineering
- Appendix C: Technical Terms and Glossary
-
Index
People also search for Software Engineering at Google Lessons Learned from Programming Over Time 1st:
software engineering at google lessons learned
software engineering at google lessons learned from programming
is it hard to become a software engineer at google
software engineering at google lessons learned from programming over time
software engineering at google goodreads
Tags:
Titus Winters,Tom Manshreck,Hyrum Wright,Software Engineering,Over Time