> I realized that although my one foot was in the new role, my other foot was still in the previous one. I needed to stop doing the old things to make room for the new stuff!
This is exactly why it seems to odd to me that many companies see management as a logical "next" step in someone's career. It is a completely different path and requires very different skills. At least, the way many companies have set up their company structure.
> This is exactly why it seems to odd to me that many companies see management as a logical "next" step in someone's career.
That's because there's a clear career ceiling for engineering roles in those companies. They're in a mindset of let's say McDonald's management - there's no career track for cashiers, no "principal burger flipper". They see engineering similarly. It follows from there that the only way to go up is to go to the management.
Companies that need to keep their software developers around long-term often introduce a (notionally) parallel career track with titles like "Senior Principle SDE L8"
I don't think it's just "notional". These people are usually put in technical charge of progressively bigger / more complex projects. They have a lot of clout, decision power, but not organizational/disciplinary powers, no direct reports.
Alternatively, I've seen a "senior principal" dev working effectively as IC in a technically very demanding project (specialized database engine).
I'm a 'principal SRE' which is a weird thing. More made up than the rest of the titles out there, at least. It exists in the void created by others, eliminating toil and such.
Basically champion firefighter in addition to what you describe. Arguably the role we'd have if there were many CTOs and they were still practicing, instead of getting showtime
> Companies that need to keep their software developers around long-term
I never get why companies are so fixated on salaries being tied to titles. People just do different jobs and you shouldn't need technical or people leadership to get paid more.
If someone is really effective at their job they don't need to be called (or do the work of) a principal engineer. Just pay the 10x engineer 10x.
Generally speaking, there are hard, concrete pay bands associated with roles. As you progress through the pay bands there's less room for raises. There isn't an idea of "an exception" to this rule. There aren't special employees in the rank and file.
More frustratingly, for example quasi-governmental places, the total comp raise any individual can receive is a hard limit written in their rules. Even if you skipped 5 levels you couldn't even get that raise. That's why new employees are hired at a higher rate than existing employees. The only solution is to quit for a time and then come back to the org. Though maybe once every 5 years they'll do a realignment of pay bands.
That's on a company's performance reviews... and so how do you measure salary increases, bonuses, anything? There shouldn't be a different standard to it.
The only difference is the engineer shouldn't be forced into a different field to get paid more.
> What’s a 10x engineer
It's just an expression I'd say. Can be 2x, 5x, whatever. Most of the time a good engineer is forced into management of some sort (technical or people) before the 2x mark (salary wise).
Yeah, that's exactly my experience. After switching from managing to a senior (L7) IC position at Google, most of what this article mentions continued to apply to my work.
> They usually have a lot of steps after "senior developer"
They're also not the same roles. Usually roles (except fake titles) above senior are a completely different beast just as well. Staff / principal replaces things like architect, system designer and other positions we had in the past.
That's a good observation. The career ladder also scales with the size of the company. I've seen many smaller shops where the ladder ends with a "lead dev" who is also usually some kind of mixed role (not purely technically) - project/team/product lead.
Whether you're very left wing and want to lean on "elite theory" or more economically minded and want to call them "principal agent problems", it seems hard to avoid some employees having a lot of power in a larger company, and if some employees have a lot of power it's easy to see them using that power to them make their own jobs unfairly well paid.
It is about scaling, you either scale your work output as manager of people (Eng. Manager), or as designer of the higher abstraction (Architect). Technically you can also scale as IC by employing better tooling to make bigger impact quicker, unfortunately that rarely is encouraged in ladder-shaped companies.
How about just appreciation for the continuation of a good work? Titles aside, it should be no brainer increasing the salary by 30-50% periodically without changing the type of the job. Otherwise, people will leave, continuing the same type of job they enjoy at companies which pay 30-50% more.
There’s zero places in the world paying 30-50% more for burger flippers though. I just don’t think it makes sense to pay more over time because if they leave it takes about 3 days to grow a rookie to roughly the same skill level.
There is a ceiling to how much value you can add vs someone that is not getting a 30-40% bump. Your salary is going to be a formula based on the value you add to the company and their ability to find someone else to do that work for less. There are a lot of factors of course but the gist of it is if you keep doing the same work and providing the same value increasing a salary by a large percentage just doesn't make sense.
There isn't really a ceiling to great engineers, I'm not sure how you came to this conclusion. As an engineer, your knowledge base constantly expands, and building a well engineered system can make a product far better for far cheaper.
Knowing how an entire large or complicated product works can be very important, and can take an immense amount of time.
In fact, most engineering jobs that I've worked existed entirely because shoddy and poorly engineered products needed whole new product categories invented to make up for shortcomings.
> There are a lot of factors of course but the gist of it is if you keep doing the same work and providing the same value
If only we do the "same" work and provide the "same" value in software. 90% of the time you're always doing something different and hence why estimates fail.
Someone that knows the ins and outs of an ever complex system will be worth the 30-40% bump. If it was so simple there would be a lot less stories about rewrites etc, which often occur because no 1 knows and maintained the existing system.
Any career progression involves changes in the nature of the work. If the new job involves doing the same thing as the last job then (while it might be a great job that you want to keep forever) it isn't career progress.
The reason that the progression is expected to be IC -> EM is because that is a path that leads to software people being managed by other software people. Alternate paths lead to less efficient managers because they tend to have critical knowledge gaps.
Let me add that it’s also an incentives thing. I’ve seen software companies where management is an entirely different career path, and it makes a lot of less talented ICs focus away from the work, jockeying for a place on the management train. And why shouldn’t they?
So if you want junior engineers to really try to learn and contribute don’t tell them “well, if you really suck as an IC and focus on socializing you can be the boss of everyone here”. It’s pretty self explanatory actually.
To be clear, I am not arguing there shouldn't be any changes. But when it involves effectively an entirely different skill set I strongly believe that something is not quite right.
Do note that I specifically said many companies, not all companies. I think there certainly is room for software people being managed by other software people. If this is done in ways where the managing people also do keep being involved in the actual work in order to keep their skills and, more importantly maybe, their perspective up to date with what is happening.
I see too many companies where this is not the case and I see ex-software people giving justifications based on skills and insights that have very little relevance with the current situation on the floor.
It involves a similar skillset. Especially if you see soft skills as something an IC should be capable of then you should basically have everything you need to be dumped into an EM role as an IC. If you don't the overlap is still quite substantial. And the companies of the world generally agree with the view that similar skillsets apply - that is why they keep promoting software engineers to be engineering managers. If the skills were different they'd promote more socially savvy individuals than you generally find in engineering.
For an IC the application of those skills will be quite novel. But that is what career progression is. Same skills, new puzzle.
Totally agree! Especially the second point. Often on HN or reddit people complain that their managers are "only managers" without engineering experience and thus are incapable of understanding the various technical requirements needed for the project.
> it seems to odd to me that many companies see management as a logical "next" step in someone's career
I was lucky enough to work at a company where one logical next step was to move into technical consultancy with companies, so rather than managing a project, you became the technical interface between the customer and the project. At best, this could involve conducting or facilitating some really fascinating collaboration both with the customer and the supporting devs.
It sometimes also involved myself and the PM doing a good-cop-bad-cop routine with the customers, which could be 'interesting'.
I worked for exactly one company in 35+ years that had a career track for senior engineers as an alternative to management. I would have taken that instead of going into management but I had long ago left that company.
Companies that see it this way, at least acknowledge that a good manager tends to understand the problem and ways of working of the people they manage.
This is exactly why it seems to odd to me that many companies see management as a logical "next" step in someone's career. It is a completely different path and requires very different skills. At least, the way many companies have set up their company structure.