Foreword
When I transitioned from a software engineer to an engineering manager some time ago, I was surprisingly unprepared on what to do. I looked to my manager and peer engineering managers for advice and guidance, and I followed a trial-and-error approach to figure out what works. I had hoped that I’d do more “good” than “bad,” correct the “bad” quickly enough, and not make too many hard-to-fix mistakes.
I wish I could say that times have changed and engineering managers these days can rely on more training or have access to better resources as they seek to become great leaders. However, most managers still do what I did: try various approaches and stick with ones that seem to be working. It’s little wonder that the manager job feels as difficult as it does—or that burnout is still high among managers.
One company that decided to try to change how it supported engineering managers in their growth path was Google. Instead of relying on anecdotes and gut feelings, Google decided to quantify and verbalize the qualities that made great engineering managers. To this end, it ran two large-scale research projects, both of them the first of such scale. In 2008, Google ran Project Oxygen and identified eight attributes of good managers. In 2012, the company ran Project Aristotle and identified five factors that contribute to the success of software engineering teams.
Addy Osmani joined Google in the same year that Project Aristotle was kicked off. Working inside a company that is obsessed ...