The problem with dedicated IC career paths are that they aren't respected outside of core tech companies. At some point if you want to switch industries you could be looking at a massive pay cut. I noticed this in FAANG. Okay, you get to IC8, you're a master of the universe. Realistically you can only take that credibility with you to other FAANG. If you're a manager/director, you can take that with you anywhere and the comp bands will be more comparable.
There are of course exceptions if you are a true rock star and have worked on/led household-name projects as an IC. But again, if you jump ship, you might end up in a manager-esque role anyway. Once you reach a certain level of seniority/experience you are just way more valuable in the force-multiplying role of "leader" than anything you can do with your hands on the keyboard.
I would argue the high-end IC career path isn't really respected in general at F500. I have worked for multiple large public companies. Most of the time the highest tier IC role consisted of the grizzled veteran engineers who were there forever, but disliked managers (and management in general). They were usually a bit dis-disgruntled as well (probably because they were stuck in that role!). They were never promoted or moved into management, because they were too highly compensated to make it work.
Basically if you dont "hop" to management in the first 1-6 years into your career, it quickly becomes too late.
After years of discussion about this with my manager, I recently accepted a low level managerial role at my current company. It was a large step down title wise (from highest level IC title to low level manager title). The only reason I did this was because HR agreed to let me keep my current salary (albeit "frozen" until I get promoted)..
I found that in general the pay for entry level tech manager was a large pay-cut for me , but I was also under qualified for type of Director role.
Yeah I would never want to be a manager. My career is writing code/building software. I like doing that. Pay me according to my ability to ship good code and don't ever make me manage people please.
The thing is that you are almost never compensated on your ability to ship good code, you're compensated on your ability to create business value. More business value usually means owning and leading more scope, not better/more code.
> The thing is that you are almost never compensated on your ability to ship good code, you're compensated on your ability to create business value.
If I can be allowed to split hairs a little, ackshually you're compensated based on your level/title which sometimes, but not always (maybe not even often) is proportional to your ability to create business value. Companies like to say that they pay based on business value because it sounds good. But they don't have really great ways to measure that, especially if you're not in sales.
I'm not the person you responded to, but I realize this, and I realize that my career ambitions put a definite ceiling on my salary.
Which is fine! I'd rather have my current salary and not have to manage people. I wouldn't want a manager's job for twice my salary. It would make me unhappy, and a spare salary wouldn't make it up to me.
Absolutely. When I say I don't want to be in a management role, I mean I don't want to be in the role that most tech companies seem to call "management", which is usually someone mostly completely divorced from actual technical decisions.
Being a force multiplier by being technical leadership to other devs is fine by me. I just don't want to spend all day in an office managing upwards.
My point was that most corporations remove the option from high level individual contributors. The higher you go, the more the option is removed. I was directly told that I am more than qualified from a technical perspective to be a Director, but not qualified from an management perspective.
Teaching people management skills is probably a whole heck of a lot easier than teaching them technical skills, but companies don't see it that way. Companies will pay top dollar for a fresh Harvard MBA, and put them in-charge of a large technology thing they know little about, but reject the idea of a IC8 moving into that role.
Why wouldn't they allow an IC8 to move into a lower-level management position? It sounds like the option isn't removed, you just have to move downwards on the parallel track, to learn those things.
Imagine it the other way around; I would not expect the head of HR at my employer to move directly into a Staff Engineering position if they expressed interest in moving towards a technical role.
> Basically if you don't "hop" to management in the first 1-6 years into your career, it quickly becomes too late.
Agreed with this, but only for traditional management track. Like if you want to be a CEO of a F500, you need to hop on the management track early and spend the time rising through the ranks. But there is more flexibility in startup world. In a small growing company you can have 15+ of exp as IC but quickly become VP or C level if you show aptitude and the situation allows for it. And if you have success there, you have generalized management credibility.
Here you have motivated , respected, talented individuals who wants to take all of the things they have learned and apply it to a broader set of things across the company. They are literally asking to provide more value to the company by broadening the scope of their influence.
For a crappy sports analogy, its like never letting the MVP become a coach.
You really think making Lionel Messi or Christiano Ronaldo coaches would be a better use of their talents than having them play?
There's a reason athletes only become coaches after their prime. Once they can no longer be superstars on the field, they can try to pass on some knowledge to the next generation.
I don't really see how taking deep knowledge of stuff like databases and webservers and applying it to "broader sets of things" is useful. That's like taking rocket science knowledge and applying it to cooking. Sure, you may find some use for some stuff but the vast majority of your knowledge is just wasted now, it isn't being "applied to a broader set of things". It's just deteriorating.
Yes, you are exactly correct, MVP athletes (aka IC8s) CAN become coaches in their post-prime life. For a 20+ year developer, this is rarely possible.
Broader set of things != Different things.
So you don't think that moving a Distinguished NASA engineer with an illustrious 25 year career into management is a good idea? They arent moving fields, just positions within their field. Your cooking analogy doesn't apply.
The case example of this working well is Boeing, which was ran (top to bottom) mostly by engineers for a while.
This is true in my experience. But it is a feature, not a bug.
FAANGs, and SV more generally, have figured out how to leverage the effort of top-quality engineers to create tremendous business value. This is reflected in the performance of these stocks in the public market.
Other parts of the economy do not have the need for such high levels of technical skills. They simply don't know what to do with it! Hence they cannot pay ICs as high either.
We will eventually get to a point where few engineers, controlling larger number of computers, can produce significant business value. IC salaries will rise then.
That's definitely the case at my company. To get to the same pay grade that even mediocre managers get promoted to by default, an IC basically has to walk on water.
It's a supply/demand issue. There are piles of ambitious engineers who want to be staff+, and not that many instances where it's needed.
Contrary to popular narratives, management outside the c-suite is a mostly a thankless grind with no glory. Getting competent people to do it requires some major incentives, and every team, at every level, requires management.
This has been the exact opposite of my experience.
There is an endless availability of engineers who can push JSON to an API, but people who can lead a team, handle cross team comms, architect, and code the hard problems are fairly rare. This is why they command salaries comparable to specialist doctors.
Meanwhile, MBAs are an endless resource, given that that and Law School are the default for people who haven't figured out what they want to do in undergrad.
The thing is though, most of the time you really do just need to push JSON to API. Your average non-tech company doesn't need hardcore grizzled IC veteran who can code hard problems and architect. They would rather just hire a good manager, an architect, and some mid level people to muddle through. Hyperscale is not a widespread need outside of FAANG.
A competent manager of a software team or org should also be able to do all the things you mention for ICs minus the coding part while also inspiring, leading, people managing. Hiring an MBA to lead/manage a software product group and engineers without those capabilities is asking for sub par results.
" you are just way more valuable in the force-multiplying role"
Isn't this sort of the point? It's not a matter of respect so much as impact. Having say director level impact as an IC requires working on the right sorts of problems, at the right sorts of scale, in an organization that is structured to take advantage of it. It shouldn't really be surprising that this doesn't describe most positions.
[disclamer: I'm at Shopify and haven't read the post.]
I agree with that, but my experience has been on the flip-side. At other companies when I get beyond staff level I've been expected to manage people, when my strength is on the technical side. Being able to lead technically and elevate the tech level of teams is more effective and rewarding for me. There are other ways to force-multiply without being a chain-of-communication person:
> Once you reach a certain level of seniority/experience you are just way more valuable in the force-multiplying role of "leader" than anything you can do with your hands on the keyboard.
> Once you reach a certain level of seniority/experience you are just way more valuable in the force-multiplying role of "leader" than anything you can do with your hands on the keyboard.
This is the key statement. People don't like to hear this, but the reality is that it becomes incredibly difficult to move the needle to a sufficient degree as a high level IC. There are people who can pull this off, but the number of people who believe they can are orders of magnitude different than those who actually can.
For almost all people, all paths to be worth the lofty title involve being able to have an indirect influence on a larger sphere of influence as their hands on keyboard results only go so far. And however one wants to slice it, these paths start to sound like the types of things that people say they don't want to do when they decry "management". Influencing people, politics, mentorship, building trust & alignment, etc.
Leadership roles provide a clear path forward for this, but while there are other ways they tend to still get poopoo'd by the "I just want to code!" crowd.
Mind you, there's nothing wrong with "I just want to code!", I'm currently in such a phase myself. One just needs to be realistic about what that means for their progression.
You seem to be conflating IC with coding. I spend so little time on the keyboard that I couldn't even learn a new keyboard layout without extra typing practice. The most value I provide is in guiding the shape of emerging projects, as well as technical alignment with other projects and long-term directions in parts of the platform. None of that is 'coding'. If my hands are on the keyboard, it's for technical communication. Having people report to me isn't going to make be better at providing this kind of input.
If you spend enough time in threads on this topic here, you'll see people popping up complaining that there's no IC path forward without taking time away from coding and requiring building good soft skills.
What I was getting at is that with few exceptions, no such path exists.
You're 100% right that one doesn't need to go into leadership roles, and definitely not management roles, to get there. But one's hands on keyboard contributions will top out at some point and the only way to move the needle further is to do something else on top of that.
I personally separate the concepts of leadership and people management. So to me, most paths forward start to enter the sphere of "leadership" one way or another. But this is just nomenclature, YMMV.
We might be in agreement but certain phrases like "I just want to code" detract from it. Technical leadership doesn't need to manage people, but soft skills are still valuable. This can be done in an IC role.
> What I was getting at is that with few exceptions, no such path exists.
What I believe the post to be about is what such an exception could look like as a model for other orgs.
> but the reality is that it becomes incredibly difficult to move the needle to a sufficient degree as a high level IC.
I think this is entirely dependent on industry and company size/stage.
Anything from a well funded startup to a high-growth pre-IPO "unicorn" will likely gain much more from a very senior engineer than from a "leadership" hire.
An existing fortune 500? Yeah you're probably right.
I'm more talking about personal growth, not hiring someone fresh. As an IC, it becomes hard for people to move the needle further and further *unless* they start taking on more interpersonal responsibilities.
Even for hiring in the circumstances you describe, I don't think you're wrong per se. But there aren't many situations or people where I'd prefer someone who just wants to sit in a corner and code vs someone who can do all the other stuff at a high level too.
I can see that. You get to flex a particular skillset which isn't rewarded elsewhere, so for you, it's a positive. You could think of the "IC track" terminating in this kind of role, which is pretty cool. I do think some people may not realize by choosing this path they are locking themselves in to industries where this role is needed or rewarded. It's not quite as generalizable or broadly recognized as "management". So steer clear if you think you may not want this for the long term.
The reason for this is that the skills of an IC at that level are simply not needed at most companies outside of ones that have pure tech as their differentiator. What would a consulting body shop do with a rockstar engineer who invented a programming language or scaled a database to a load previously considered unachievable or created a new industry-standard cryptographic algorithm? A manager who can work a team of 5 junior-mid level engineers to the bone to meet an arbitrary client deadline with "good enough" work is a lot more valuable.
> Once you reach a certain level of seniority/experience you are just way more valuable in the force-multiplying role of "leader" than anything you can do with your hands on the keyboard.
This doesn't make sense to me. How? If I'm really fucking good with software development, how does it make sense to have me do something other than software development? If we were talking about tech lead or architect type positions I'd be in agreement, but what force are you multiplying otherwise?
The leaders in my company don't do any force multiplication. They just handle the shit we don't want to deal with, like talking to clients and being middle men. I don't see how a good developer is any better at any of that than some random person you pull off the street and I'd go as far as saying the dev is wasted in such a role. Grab someone with a business degree or some other bullshit who wants to do this stuff. Even the people who used to be devs quickly lose touch with the dev role once they transition to management.
> The leaders in my company don't do any force multiplication. They just handle the shit we don't want to deal with, like talking to clients and being middle men.
Removing distractions and time-sucks from the engineers is a force multiplication though.
>The leaders in my company don't do any force multiplication. They just handle the shit we don't want to deal with, like talking to clients and being middle men.
The goal of engineers at a company is not to write code but to generate some type of business value. Making engineers more efficient at generating business value by understanding client needs or coordinating across departments is force multiplication.
> The problem with dedicated IC career paths are that they aren't respected outside of core tech companies.
I think it's not about FAANG vs tech vs other sectors. It's about blow-out growth vs no growth. An IC has great value only when a company needs her to build something that directly impacts the top line. Otherwise, an IC is just a cog in giant machine. Of course, some ICs are so good that they can create opportunities in a well-established organization, but they are exceptions.
There are of course exceptions if you are a true rock star and have worked on/led household-name projects as an IC. But again, if you jump ship, you might end up in a manager-esque role anyway. Once you reach a certain level of seniority/experience you are just way more valuable in the force-multiplying role of "leader" than anything you can do with your hands on the keyboard.