Hacker News new | ask | show | jobs
by ryandrake 2831 days ago
What I've seen a lot is lots of companies do not have a meaningful Individual Contributor technical career track. You join as a junior developer, then 5 years later you are a "Senior Software Engineer" and that's it. Your salary flatlines, your project responsibility/impact is capped, with no further opportunities to grow career-wise. Join another company? Fine you get a 5-10% pay bump but you're still at the highest level: The dreaded "Senior Software Engineer". OK, so some places have a "Staff Software Engineer" or "Principal Software Engineer" or whatever they call it. It's still basically the end of the road for a non-manager. So few places offer anywhere to grow after reaching this level, besides management.

These companies then say, "Hey, engineer XYZ, you seem to be smarter than the average bear. We would like to reward you with career growth, but we are not imaginative enough to come up with something beyond Senior Software Engineer. How about instead we make you a manager? Go, here is a team of people, go off and learn this entirely different skill set and manage people! What could go wrong?" That's pretty much how most places make engineering managers, and it's tragic. Here we have some of the smartest, technically competent people. I mean they rock as individual contributors and should be thriving. But they're not because they don't want to be managers, they just want a software development career!

To me the solution is to simply let coders code and hire managers to manage, and provide equal career and salary growth to each group!

3 comments

I wish more companies did this. We have such a hard time with this in our culture. Even at a company that has a good IC track, it's usually fake. The person eventually gets perceived as expensive and is laid off.
How can a lone engineer scale their impact after senior? I literally think the career ladder flatlines there because business value flatlines there too. It be nice if companies had work above it but I think it's hard.
Here is a hint for you - don’t only show your boss what you can do - show the world what you can do.

Then 10% pay raise may suddenly evolve into 100% at way cooler place

My point is not about pay. It's that I can only do so much, and the only way I can acheive more is by having a pyramid of engineers underneath me doing the coding.
Then you need to be a manager. Organizations where there is a tech lead who does people management, or where it's "flat" (i.e. no managers) tend to develop informal, unspoken, or hidden political structures that fill the role.
A friend of mine quit his job when they essentially forced him into management. To your point it would have been a slight increase in salary. But much more work that he didn’t enjoy and considerably less flexible work environment. You’re right these things should be obvious to companies. The things most good programmers enjoy and value are rarely the same things that managers, even good ones, are looking for.