Herding Software Engineers

Posted in Management, Work

I’m officially giving engineering management a shot.

Common cynicism would cite the Peter Principle as relevant when an engineer decides to shift their role into the less technical. And it’s true: I code a lot less, I’m much less able to work on projects and features that require hardened commitments, and I sit in meetings way more than I did previously and spend my time in shared documents and email instead of IDEs and debuggers.

But. The role and value of management comes from added leverage, in this case, the well-being and maintenance of a highly functioning team which I now serve. While a handful of companies have organized themselves explicitly to exclude any form of management, the vast majority have either existing organizational structures and need for some form of hierarchy, and that has made me realize that engineering managers have an important role to play in the creation of software.

The key is to avoid the terrible cliches and horror stories that have soured the discipline. This job is about communication and organization, and this bears repeating: the skillset which engineering managers need to develop is mostly orthogonal to what software engineers have honed up to this point. Great developers get promoted to become crappy managers because they’d rather continue to provide technical leadership in lieu of managerial direction and guidance, but they’re placed in these roles because management is seen as the only way to advance[1].

And compared to the corpus of freely available, high-quality information available on software engineering, there really isn’t much material available on the art of management. I suspect that, in addition to there being many fewer good engineering managers than engineers in our industry, the variability and the situational and improvisational aspects are difficult to distill into sage advice. According to some of my managerial mentors at Square, the best book was written almost 20 years ago and the best advice online might be Yishan’s answers on Quora.

Is management easy? As an individual contributor on the outside looking in, I would have assumed that the job was simple if not rote, but as it turns out, dealing with other people is a vast unpredictable shift from handling deterministic machinery. The job has been quite a challenge thus far, but it’s a muscle I’m looking to earnestly develop and determine whether this path is worth traveling.

Footnotes    (↑ returns to text)

  1. It’s worth noting that most decent companies will claim that there are parallel tracks for technical and managerial roles. Most companies are lying.