I was thinking recently about career paths in IT industry. My special area of interests was how people get promoted to managers and why. The conclusion I came up with is pretty sad.
Career paths in IT industry are screwed.
A typical promotion chain looks something like: developer, uber-developer, manager. That’s nothing new under the sun, right? This is basically how most of us got promoted to management roles. Where is the problem then?
Actually I see two issues. First, organizations typically promote best engineers to management roles. Like the engineering was oh so similar to management or something. Like the best engineer around automatically was the best possible candidate for a manager. Like the skills needed to perform on these positions weren’t completely different.
What a bullshit. Actually the best possible candidate for a manager is the person who is, well, the best suited to become one. Possibly one of those average coders out there. Yes, the one who somehow often helps the team to deal with problems even if she doesn’t make the most difficult job by herself. Well, she kind of helps to shine everyone around. Even that superhero coder you consider as the most valuable team member.
After a second thought wouldn’t it be better to promote her instead of the best engineer?
Well, it probably would but there the second issue pops up. Your superhero engineer also looks for some leading role to push his career ahead. And the only one you can offer is a team manager. Now, if you choose someone else for promotion he will likely get frustrated, quit, will found his own startup and build it up, buy your company and then fire you for your lousy leadership skills. And even if this plan doesn’t work exactly that way, losing your superhero coder isn’t the first thing you’d like to deal with.
This is another thing I don’t really get. Why there is no tech lead role in many organizations? Why do we have to promote best engineers to people managers even though they suck at dealing with people. They can show their leadership where they mastered the art – in software development. So let them lead whenever you build software. But when it comes to deal with people, and managers do deal with people all the time, you better have someone who focuses on the team and not on the project.
As my thoughts go through many organizations I know I very rarely see a clear distinction between these two roles: people manager and technical leader. The effect of the situation is this screwed career path which not only produces mediocre managers out of great engineers but also leaves great candidates for people managers unnoticed. A kind of lose-lose situation if you ask me.
This is not how you want to lead your organization. Or is this?