Lessons from 14 Years at Google
4 months ago
- #engineering
- #career-advice
- The best engineers focus on solving user problems, not just writing great code.
- Being right is less important than aligning with others and fostering collaboration.
- Bias towards action: shipping imperfect products leads to faster learning and improvement.
- Clarity in code is more valuable than cleverness for long-term maintainability.
- Limit novelty in technology choices to avoid unnecessary complexity and overhead.
- Your impact depends on how others perceive and advocate for your work.
- The best code is often the code you don't write—question the necessity before building.
- At scale, even bugs become dependencies; compatibility is as important as new features.
- Slow teams are usually misaligned, not lacking in effort or technology.
- Focus on what you can control and ignore what you can't to stay effective.
- Abstractions move complexity but don't eliminate it—understand underlying systems.
- Writing and teaching force clarity and reveal gaps in understanding.
- Glue work (documentation, coordination) is vital but should be visible and bounded.
- Winning every debate can lead to silent resistance; real alignment takes time.
- Metrics can be gamed; pair speed metrics with quality or risk metrics for better insights.
- Admitting what you don't know creates a safer, more learning-oriented culture.
- Your professional network outlasts any job—invest in relationships with curiosity and generosity.
- Performance wins often come from removing unnecessary work, not optimizing existing work.
- Process should reduce uncertainty, not create bureaucracy or blame.
- Time becomes more valuable than money as your career progresses—trade deliberately.
- Expertise compounds over time through deliberate practice and learning from mistakes.