Jean Hsu
The transition from engineer to engineering manager is rough.
Coding is a fairly objective process, or at least it’s treated like one. Many companies track the crude metrics of number of lines of code added or number of commits. The path to seniority is fairly clear in terms of the work—building, debugging, maintaining, and being a core contributor for larger and larger projects. There are some nuances, but generally speaking, at the end of the day, if you’ve had a big chunk of heads-down coding time, and merged a handful of pull requests, it was a good day. Most of the uncertainty around the technical path comes not from the work itself but from titles, compensation, and perceived career progression.
Managing people and teams is a much more subjective process, so much so that companies routinely try to have “no managers—a completely flat organization!” A lot of management is the less-visible things, and the default feedback loop for these are much longer. Progression along this path is much more unknown.
No wonder the transition is so difficult. Most first-time managers don’t get any support. Many senior engineers decide to move back to the hands-on technical work after a few years of managing people and teams—you might hear, “never again” or “management wasn’t for me, I just want to code.” A large swath ...