Career Progression
neversaw.us
neversaw.us
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.
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.
What niche though? Glad it worked out for you, but not every contacting gig pays that much
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.
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.
I have never seen anybody implying that the industry uses people's skills. It doesn't matter when people are talking about.
This will give you more satisfaction and better leverage than a title when it comes to negotiate a raise or request anything else.
most companies have pay bands based on the titles. Always chase the title.
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."
Your attrition may be regretted, but you can be replaced.
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.
> comes to negotiate a raise or request anything else
You: i've been running X for the company singlehandedly for 2 years, i deserve a promotion
Them: But that's your job, we expect you to go above and beyond.
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.
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.
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.
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.
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.
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).
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.
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.
Some people are energized by that. I find it exhausting and a waste of life.
dozens of us!
You gave me some real medical vibes here. "Its rare", "like 1/10 rare or like 1/10000 rare?"
plenty? Like 1000, or like 100,000?
Mind boggling. You wonder how much value they are creating. Software scales so easily.
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.
Freelancing is probably not the way. Really, I’m trying to get away from the notion of selling my time altogether and instead build things.
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.
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].
[1] https://blog.pragmaticengineer.com/netflix-levels/ [2] https://blog.pragmaticengineer.com/netflix-levels/
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.
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.
those 2 will solely make or break a company.
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.