I'm kind of jaded from the work world and part of it is that it took me forever to recognizing the promotions don't really reflect your skill at your craft. They're more a proxy of how visible your impact is at executing the company's goals. You can be the greatest technical wizard and be good at helping your teammates get their jobs done, but if management isn't around to see it (or no one else makes a peep about it on your behalf), it doesn't matter.
I feel like career ladders are more likely used as a tool to justify not promoting you rather than promoting you. Doing everything that's required in the next rung of a career ladder doesn't mean you'll be promoted, especially if budget is a concern or the company has a quota of promotions or senior/principal people. But if you aren't promoted, it's an easy thing to fall back on to say "well, you didn't do these things", and even if you did do those things, you might not have made it visible enough to the people with the power to promote you.
This is why I basically decided entrepreneurship was going to be my shot at 'greatness'.
You basically need ~7 years (at best) to get into management at a big company.
After that, so much is luck/politics/seniority based.
As someone who has always been a top performer(in school, in wages, in professional achievements), I don't want to put all my eggs in 1 corporate basket. I make more money than managers being contract, I am never worried about unemployment, and what were my odds of making 1M per year at some large company? There are a lot of talented people competing for those positions.
Doing the numbers, I can create ~1M per year in value and I don't even need to be a manager.
It seems being a programmer in a high value niche seems more certain than hoping your card gets called.
> The lesson, however, is clear: a career ladder is a social construct that is only as real as the people in power at your organization make it
This is a great lesson. Above all else, career ladders are social constructs. They are a fuzzy match to competency, and the level of fuzziness increases drastically at each higher level.
Something I only recently realized is that part of being promoted to the next level is that your peers believe you are operating at that level.
There is a very social aspect to work that is rarely discussed in tech circles because people tend to focus on technical skills over everything else.
this is similar to another point that in the vast majority of companies that make software the returns to technical skills are rapidly diminishing, in reality.
In most companies it actually is, in a completely non-cynical non-political way, your 'social' skills that begin to dominate your efficacy in improving the company's bottom line past a certain floor of tech skill.
That involves understanding and working with how the whole company works as a machine top to bottom, including the relationship with customers. There are times when that maps to problems with technical solutions but more often than not that's not the case.
That's the fundamental reason in most companies you really do need great social and communication skills, and often business sense too, to become more and more senior on the (quote unquote) technical career ladder.
If money is by far your top priority, sure. But the shortest path to the title might be a miserable one filled with politics, stressful high visibility projects with ton of micro management and extra hours.
In the meantime, I went from junior to principal on a slightly longer path but I side stepped most of the downsides of the shortest path.
I would even argue that because I was less pressured and overworked, I had the energy and excitement necessary to get involved with more initiatives and was perceived as more productive than some of my peers who were powering through massive features!
You can think of it as the 80/20 rule or "Slow and steady win the race."
You're missing the point. Putting yourself in a position where you're close to indispensable gets you the title. Because the company now has to make a choice, stop having person X manage some area and find a new person who's not as good or won't be for some time, or just forget about the politics and rubrics and other annoying BS and give person X the title and raise. Way cheaper for the company to do the latter. Usually a better strategy too because you retain talent. I've known a few title chasers in my time and they don't last long. /2cents
The caveat here is that you need to be truly indispensable. This may not always be your piece of the company. As key initiatives change, you either need to change or risk being dispensable. The truth is we are all dispensable at some point.
Your attrition may be regretted, but you can be replaced.
> Putting yourself in a position where you're close to indispensable gets you the title.
If you are indispensable at maintaining convoluted stored proceduces with business rules baked into them . Most likely you won't get the next level position which would need company to find somoneelse.
Here is my take on titles: When I'm working with someone, I don't care what their title is. If they can get done what needs to get done, great! If they can't, I don't rely on them anymore. I also hope people feel the same about me.
When I started my career, I would get ignored because of my low title, even though I could do what was being asked. Now that I have a "high" title, people defer to me when they don't have to, and it's silly. I end up being a blocker because people won't move forward without my approval, even though I tell people I trust that my approval is implicit.
This puts me in a weird place. One the one hand, I don't care what my title is, I just care about what my area of responsibly is. On the other hand, it seems like most people do care about titles, and more responsibility is only granted to people with high titles. So in that sense I do care about what my title is, only because it's what opens the door to greater responsibility.
When I look for new jobs, I push on the title, not because I care for my own ego, but because everyone else does, and honestly I hate it.
Making decisions without the final authority to officially make them adds to my risk if they don’t back the decision later.
Taking that risk only makes sense if you seek internal raises and promotions. If you go externally for promos and raises, there is only downside to making decisions without the official authority.
So I refuse to make any decisions at work at all as a low level grunt. Everything goes to some manager.
I am with you. This whole title nonsense actually makes the system predatory. Managers are asked to make seniors take status reports from juniors or whatever.
And they want these things even if collaboration without titles is actually better for morale.
It's almost like hierarchical monkeys want to impose hierarchy on others.
I know I'll get blowback from this as always, but what the author is talking about here is another symptom of how, although we pretend that so many aspects of what we do have objective answers, the vast majority of everything we do in tech is opinion-based.
There is little if any authority. As one "best practice" can be verboten to some other team, one company's "senior" engineer is another company's mid-level developer. A legendary developer at one company is another hiring team's "bro, do you even fizzbuzz?" It's not that there's no utility at all to using designations, since at the day we are only left with choices to make, but so much of this shit's made up that it's difficult to take anything seriously beyond the immediate task at hand.
I'm glad to be a software developer, and feel fortunate, but sometimes I envy other careers where the chain of command means more. Sure, other industries have their own subjectivity, nepotism, ass-kissing, and so forth, yet for some reason their titles and practices seem to have a legitimacy that lacks in software. Having had my share of ridiculous interviews, I find it gloomy how much an individual's career progression is determined by mere opinion; actual experience is virtually irrelevant. It doesn't even matter if you've written a framework used by big tech to power sites with millions of active users; I know of one of these cases where they were rejected by one of said big tech companies because they "couldn't code."
So although I feel some consolation having achieved the senior role, it's a participation trophy and a "you're a tolerable coworker" trophy wrapped up in one.
It would be nice if the software industry had some form of greater authority to "calibrate" our individual careers. Even companies like The Google have failed to be such an authority.
And no, I'm not suggesting that things were ever different.
The adage of "It's who you know" applies in all industries, even tech. you are right, it's opinion based. Depending on the values of your team or organization the criteria for success will change.
My principal engineer values "The best possible solution" while I value delivery even if there are some short term tradeoffs. We are often at odds and since he's a level above me, he wins (generally speaking). Because he is a core feedback provider to my promotion I have a harder time getting the feedback I think I should as I'm expected to be his version of a principal engineer, and not mine.
As you move up the ladder it seems convincing people you are successful is more important that actually being successful.
And as much as you can try to push for everything to be measured and to make data-driven decisions, at the end of the day everyone has their insecurities and somebody up the line that you need to convince thinks they're an underperformer.
I came from (real) engineering and now I program. (the pay is 2x better)
Its a stark difference in what is considered Truth. Opinions of authority, tradition, beauty of code, all had an impact on how I code.
In Engineering, there wasnt really freedom like that. There was always 1 correct way, it was the cheapest and hit all the metrics.
Basically if you do a good job, everyone comes up with the same design.
I've adjusted to the gray aspects of programming, but it always irks me when people call this engineering, or think there is something correct when we are dealing with non safety critical C.
>but so much of this shit's made up that it's difficult to take anything seriously beyond the immediate task at hand.
Not necessarily made up. It just really depends on what your skillset is and what the company values. I as a systems engineer isn't going to be valued if all a company needs is a functional website for their non-tech services. But that supposed "rockstar" front end dev at that same company who may be devoured like a guppy if they tried to apply to a full stack role.
That's the one downside to an industry that lacks licenses or accredibility: all the companies have to snuff out that skillset themselves, and often in arbitrary ways (I am way beyond done with the Leetcode interview as someone almost 8 years into industry). But at the same time they treat their test as some secret code so they don't exact talk about WHAT an engineer should study* if they want to reach that level.
*(I should note that this mostly applies to non-FAANG jobs. On the contrary, Amazon and Google had entire interview packets for that stuff. Maybe a bit too much in the other direction, but better than guessing if I need to study C++, algorithms, domain specific knowledge, make personal projects, or many other topics).
Principal Engineers are supposed to raise solutions to problems. This (3 year old) blog post raises complaints, but does not propose a solution. People who can raise complaints are a dime a dozen.
The solution is simple, but not easy: work for yourself.
The corporate ladder is for people that need an externally mediated goal to keep working toward. That’s why it gets harder as you approach the top: without the artificial scarcity, the titles would be perceived as less valuable.
I’ll take whatever titles they want to give me. But I’m not going to be grasping for them.
I'm sorry but the idea that it's "pretty easy" to make 10x the median personal income in the US by just working for FAANG is just plain idiotic. Even just among software developers, most make $120k or less. You're in the top 10% of software developers if you make over $170k. Even at FAANG, for example Google, you're going to be L6/L7 before you hit $500k TC. I don't know anyone serious who would say that getting to L7 at Google is "pretty easy," certainly nobody who's done it.
Maybe, if you're on the tail end of a particularly well-timed stock grant and you have a really crazy definition of "plenty." But Levels puts recent L5 offers much closer to $350k, which to be clear is still more than a lot of physicians and most lawyers make.
You said FAANG, so I picked the one that has the reputation for best work-to-pay ratio. Rather than nitpicking specifics perhaps try to justify that it's "pretty easy" to make half a million dollars a year typing JavaScript into a computer.
Quite a bit I'm sure, but I'm sure there are a lot of developers making less than that barely breaking even on the "providing value" front. We don't talk about it here often but a lot of developers are pretty bad at what they do.
Unfortunately I've seen these people, but I would hardly call them developers/programmers, even if their work title is that... I guess I can't be choosy with national statistics.
I'm so close to doing this though. I imagine its really hard to do this for most people, but I personally fell into a expensive niche and I knew how to program.
The corporate ladder will pay me $200k for 1M/yr(compounding) of value. I imagine I can capture more of this, and potentially have employees.
I never thought I'd do this, I thought I'd be a desk drone forever, but with every project, I stare at the numbers and realize its possible. (The last time I did this, my wife started a 6 figure company, where her non-mathy friends thought it was going to be impossible)
Wish me luck on marketing, hopefully the thought of a compounding 1M/yr for a company sells itself.
Honestly I would love to do this, but how to transition from my relatively well paid job (Principal SDE) to the uncertainty of own hustle? How to compete as a freelancer from expensive country (USA)?
It might be an overblown solution to the issues raised here, but org-matrixed companies don't tend to suffer from the same "title matches but responsibilities wildly differ" problems internally. At least not to the same degree!
Same problems still exist comparing to peers in the industry though and I'm not sure what the solution looks like beyond a more role-detailed, less purchaseable GlassDoor clone.
My opinion on career ladders and titles has zigzagged back and forth over the years. Today I'm in the camp that titles are, to put it succinctly, somewhat useful.
Sure, you could be idealist and say that everyone should be judged on their own merits rather than a scale. Some companies don't have ladders. Out of big tech Netflix probably lasted the longest. And then they caved in [1]. Understanding why they finally decided to do it might highlight the practical considerations of why companies have ladders.
Also from what I am able to gather OP is a white dude. That's fine, but we shouldn't underestimate how a job title helps people from underrepresented groups. For a sampling read some of the interviews at StaffEng [2].
> we shouldn't underestimate how a job title helps people from underrepresented groups
That point is addressed in the post:
> On the other hand, the measure corrects for insidious biases: the title can lift some of the burden of constantly having to prove your worth, especially if you're not a member of a historically privileged group. It can also correct for compensation bias: two staff engineers should be making the same amount, even if one of them is a white guy and the other isn't. (Compensation can get perilously out of whack without banding tied to titles.) The bias is still there, it's been compartmentalized into convincing the org that you meet a rubric, but you can at least bring receipts to that conversation.
> People aren't comparable, nor are their talents or knowledge
I'm sorry but this just isn't true.
My knowledge about software engineering is better than a cardiologist's. A cardiologist's knowledge of the heart is better than mine. You can make comparisons about this very easily. Neither of these things make one or the other party a better person, but let's not pretend we can't make the knowledge comparison.
You're absolutely right not to let it go to your head. But there's nothing wrong with being proud of your talent and knowledge, and pretending that titles are just "a social construct" is just false humility.
Comparing a software engineer to a cardiologist is contrived, though. Comparing the knowledge and skill of two engineers at the same stage of progression is still hard. "I have two skilled senior engineers and I have approval to promote one" is often a difficult problem.
That's extremely different to saying that comparison is fundamentally impossible, though. I agree with the previous commenter that statements like that should be outright rejected before we have the more useful discussion on the point you're making.
It's not saying they aren't comparable in the sense of you can't compare them at all, but rather that you can't find a single ordering on which you can line people up.
For example, you needed two dimensions to compare yourself to the cardiologist in your example. How do you reduce that to a single dimension? Even within a single title at a single org, it often reduces to the same issue of A is better at X, but B is better at Y (and they differ on twenty other things too).
People have thought about this topic before! This thread reminds me of https://xkcd.com/1112/, where the programmer who's never encountered chess before starts explaining to the chess player how it most makes sense to approach it.
I feel like career ladders are more likely used as a tool to justify not promoting you rather than promoting you. Doing everything that's required in the next rung of a career ladder doesn't mean you'll be promoted, especially if budget is a concern or the company has a quota of promotions or senior/principal people. But if you aren't promoted, it's an easy thing to fall back on to say "well, you didn't do these things", and even if you did do those things, you might not have made it visible enough to the people with the power to promote you.