Free Download Software Engineering at Google Lessons Learned from Programming Over Time Book in PDF written by Titus Winters, Tom Manshreck, & Hyrum Wright and Published by O’Reilly Media, Inc.
This book is titled Software Engineering at Google. What precisely do we mean by software engineering? What distinguishes “software engineering” from “programming” or “computer science”? And why would Google have a unique perspective to add to the corpus of previous software engineering literature written over the past 50 years? The terms “programming” and “software engineering” have been used interchangeably for quite some time in our industry, although each term has a different emphasis and different implications. University students tend to study computer science and get jobs writing code as “programmers.”
“Software engineering,” however, sounds more serious, as if it implies the application of some theoretical knowledge to build something real and precise. Mechanical engineers, civil engineers, aeronautical engineers, and those in other engineering disciplines all practice engineering. They all work in the real world and use the application of their theoretical knowledge to create something real. Software engineers also create “something real,” though it is less tangible than the things other engineers create. Unlike those more established engineering professions, current software engineering theory or practice is not nearly as rigorous. Aeronautical engineers must follow rigid guidelines and practices, because errors in their calculations can cause real damage; programming, on the whole, has traditionally not followed such rigorous practices. But, as software becomes more integrated into our lives, we must adopt and rely on more rigorous engineering methods. We hope this book helps others see a path toward more reliable software practices.
What This Book Isn’t?
This book is not meant to cover software design, a discipline that requires its own book (and for which much content already exists). Although there is some code in this book for illustrative purposes, the principles are language neutral, and there is little actual “programming” advice within these chapters. As a result, this text doesn’t cover many important issues in software development: project management, API design, security hardening, internationalization, user interface frameworks, or other language-specific concerns. Their omission in this book does not imply their lack of importance. Instead, we choose not to cover them here knowing that we could not provide the treatment they deserve. We have tried to make the discussions in this book more about engineering and less about programming.
Table of Contents
- What Is Software Engineering?.
- How to Work Well on Teams.
- Knowledge Sharing.
- Engineering for Equity.
- How to Lead a Team.
- Leading at Scale.
- Measuring Engineering Productivity.
- Style Guides and Rules.
- Code Review.
- Testing Overview.
- Unit Testing.
- Test Doubles.
- Larger Testing.
- Version Control and Branch Management.
- Code Search.
- Build Systems and Build Philosophy.
- Critique: Google’s Code Review Tool.
- Static Analysis.
- Dependency Management.
- Large-Scale Changes.
- Continuous Integration.
- Continuous Delivery.
- Compute as a Service.
Free Download Software Engineering at Google Lessons Learned from Programming Over Time Book in PDF written by Titus Winters, Tom Manshreck, & Hyrum Wright from following download links.
File Size: 12.9 MB Pages: 602 Please Read Disclaimer
Don’t forget to drop a comment below after downloading this book.
Note: If download links are not working, kindly drop a comment below, so we’ll update the download link for you
You may also like to download Code The Hidden Language of Computer Hardware and Software in PDF