A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://search.worldcat.org/oclc/1144086840 below:

Software engineering at Google : lessons learned from programming over time

Intro

Foreword

Preface

Programming Over Time

Google's Perspective

What This Book Isn't

Parting Remarks

Conventions Used in This Book

O'Reilly Online Learning

How to Contact Us

Acknowledgments

I. Thesis

1. What Is Software Engineering?

Time and Change

Hyrum's Law

Example: Hash Ordering

Why Not Just Aim for "Nothing Changes"?

Scale and Efficiency

Policies That Don't Scale

Policies That Scale Well

Example: Compiler Upgrade

Shifting Left

Trade-offs and Costs

Example: Markers

Inputs to Decision Making Example: Distributed Builds

Example: Deciding Between Time and Scale

Revisiting Decisions, Making Mistakes

Software Engineering Versus Programming

Conclusion

TL

DRs

II. Culture

2. How to Work Well on Teams

Help Me Hide My Code

The Genius Myth

Hiding Considered Harmful

Early Detection

The Bus Factor

Pace of Progress

In Short, Don't Hide

It's All About the Team

The Three Pillars of Social Interaction

Why Do These Pillars Matter?

Humility, Respect, and Trust in Practice

Lose the ego

Learn to give and take criticism Fail fast and iterate

Blameless Post-Mortem Culture

Learn patience

Be open to influence

Being Googley

Conclusion

TL

DRs

3. Knowledge Sharing

Challenges to Learning

Philosophy

Setting the Stage: Psychological Safety

Mentorship

Psychological Safety in Large Groups

Growing Your Knowledge

Ask Questions

Understand Context

Scaling Your Questions: Ask the Community

Group Chats

Mailing Lists

YAQS: Question-and-Answer Platform

Scaling Your Knowledge: You Always Have Something to Teach

Office Hours

Tech Talks and Classes

Documentation Updating documentation

Creating documentation

Promoting documentation

Code

Scaling Your Organization's Knowledge

Cultivating a Knowledge-Sharing Culture

Respect

Incentives and recognition

Establishing Canonical Sources of Information

Developer guides

go/ links

Codelabs

Static analysis

Staying in the Loop

Newsletters

Communities

Readability: Standardized Mentorship Through Code Review

What Is the Readability Process?

Why Have This Process?

Conclusion

TL

DRs

4. Engineering for Equity

Bias Is the Default Understanding the Need for Diversity

Building Multicultural Capacity

Making Diversity Actionable

Reject Singular Approaches

Challenge Established Processes

Values Versus Outcomes

Stay Curious, Push Forward

Conclusion

TL

DRs

5. How to Lead a Team

Managers and Tech Leads (and Both)

The Engineering Manager

The Tech Lead

The Tech Lead Manager

Moving from an Individual Contributor Role to a Leadership Role

The Only Thing to Fear Is ... Well, Everything

Servant Leadership

The Engineering Manager

Manager Is a Four-Letter Word

Antipatterns

Positive Patterns

The Unexpected Question

Other Tips and Tricks

People Are Like Plants

Conclusion

TL;DRs

6. Leading at Scale

7. Measuring Engineering Productivity

III. Processes

8. Style Guides and Rules

9. Code Review

10. Documentation

11. Testing Overview

12. Unit Testing

13. Test Doubles

14. Larger Testing

15. Deprecation

IV. Tools

16. Version Control and Branch Management

17. Code Search

18. Build Systems and Build Philosophy

19. Critique: Google's Code Review Tool

20. Static Analysis

21. Dependency Management

22. Large-Scale Changes

23. Continuous Integration

24. Continuous Delivery

25. Compute as a Service

V. Conclusion

Index


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.3