The promotion problem in engineering

September 29, 2025

Diagram of the JavaScript runtime environment showing the memory heap, call stack, web APIs (DOM, AJAX, Timeout), callback queue (onClick, onLoad, onDone), and the event loop connecting the callback queue to the call stack.

There’s something that’s been bothering me about how we promote engineers.

As an industry we seem to have this default assumption that technical excellence automatically translates to leadership ability. The best coder becomes the senior developer. The person who knows the most about the system becomes the tech lead. The tech lead who can solve the hardest problems becomes the engineering manager.

But somewhere along the way, we forgot that, well, leading people is actually about leading people.

Source: The promotion problem in engineering

All industries struggle with the challenge of finding management and leadership. Clearly, capability within a field is required to lead people well within that field. But do the best individual contributors make for the best managers and leaders?

Here Gemma Croad weighs in.