Career levels, designation, momentum, etc. (2018)
lethain.com
lethain.com
Peer managers are happy working with me. Peer engineer reviews are good. Director is happy. But my own manager just evades this conversation by saying bull such as "oh, but those projects had a senior on them" or "oh, that's just crud apis". And this is after 9 months of "working towards the next level". He now says that he wants me to work on another challenging project and prove that I can deliver it timely.
I feel like he's bullshitting me and playing with my life. I am very demotivated from trying hard or doing anything for this manager. I keep asking myself, "What's the goddamn point? He's going to bullshit me anyway again".
Has someone else experienced this? Is this normal? I prefer not jumping ship but this kind of evasive bullshittery is affecting my mental health.
One thing I see at Google is people thinking that they can get promoted just by doing more work that is high quality. When actually each promotion comes from doing qualitatively different kinds of work. Smashing OKRs doesn't matter one bit. This can be frustrating for people who don't communicate specifically about the process requirements with their manager since they look at their work and see it as better than their work N years ago and say "wtf why no promotion".
I'm learning more and more that the "specifics" are really hand holding the manager into committing and holding them accountable. Which is SO CHILDISH. No wonder highly paid tech workers jump ship all the time.
If that doesn't resolve it, I think trying to change teams (or even companies) is reasonable. I don't know how easy that is at your company but where I am at "my manager is unable to support my career goals effectively" is an absolutely reasonable and respected reason to switch teams.
Your manager is not doing a great job here. That's a fine thing to recognize. But I don't see why working with somebody to have them commit to something and hold them accountable is childish? That sounds like perfectly rational and healthy work interactions. Most of my human-to-human interaction at work is spent setting expectations, getting commitments (or committing to something) and following up on those commitments.
What's childish is discussing "specifics" which turn out not to be and now I have to ask my manager, "Why did I kill myself to do what you asked?". This is reneging on goal itself and not the means.
Now, every 1:1 I have to hand hold this manager and make them say out loud how my work satisfies his own bullshit criteria and remind him of the goals.
I chuckle because this is how I've seen parents deal with 3 yr olds.
Not something to be done lightly, if you are already planning to jump ship it can hardly hurt.
Find another job.
Where I disagree with you is that it will ruin whatever relationship you have with various parts of the company. Going "above the chain of command" is actually pretty normal and institutionalized process at functional companies -- it's called the skip-level meeting, and it's a deliberate check/feedback mechanism on line managers over-extending on managing upwards rather than downwards.
I'd actually argue the opposite point, which is that organizations that fail to properly implement skip-level meetings are missing out on an important mechanism which ensures the chain of command is performant and rooting out structural rot. As a spot check, my observations on every org I've worked at basically vindicate this.
Life is not perfect because humans are involved. People will take it some way.
Anyway, for what it’s worth, I bypassed chain of command and it went exactly as you’d expect. If you are my girl, don’t cry on another man’s shoulder. These are stories of old.
I don’t know, if this was a Stackoverflow question, which would be the best answer? Given how complicated life is, I’d wager my answer with a 50% probability, along with yours, is as close as we’ll get to a ‘best answer’, assuming we follow the spirit of the developer community.
All the other stuff you mention about "never look[ing] at them the same again" is more related to your ego, sense of insecurity and lack of self awareness more than anything. Once you pare those away, the objective truth is incompatibility. It doesn't have to be emotional unless you let it.
I guess that’s my point. If the relationship is fucked in a pure romantic relationship, you must move on. If the relationship is fucked in the business sense, there is still value in timing your exit.
But if we turn to idealism at any point, we lose our tactical options (eg, I shall speak to the manager of my manager, and the world shall see how right I am). It can be folly.
The survival instinct is not lauded enough. It can take you further if you shift to it, in the worst of situations.
In a healthy organization, skip-level interactions are institutionalized as a feedback mechanism against mid-level managers presenting an oversanitized version of what's really happening to skips when from the skip's point of view, there could be ticking time bombs and they'd like to know. In fact, if there's discord between a manager and a report, it's often a great opportunity for a coachable moment between the manager and the skip -- a line manager who doesn't learn how to handle these situations with diplomacy, candor, tenderness and efficacy will struggle to earn influence in their desire to become a manager of managers. And that becomes the skip's problem because it impedes their ability to grow an influential and growing organization.
It is only in a dysfunctional organization where a report talking to their skip is intrinsically adversarial to the line manager. Of course these situations aren't so rare as anyone would like (especially at stagnant big corporations), but it doesn't change the fact that if you work at such an organization, your career growth is pretty capped anyways and you may as well be looking for a new role regardless. Why?
Learning how to play petty political games doesn't actually level up your fungible skillsets and ability to deliver customer value. You'll start over from square one when you eventually do want to switch companies, and you'll never get that time back you wasted on merely "surviving" when you could have been actually growing. People shoot their entire careers in the foot by settling this way.
We are not far off in thinking. Do what makes sense strategically. I’ll stand by the point it is pointless to do this kind of stuff at a bumble fuck Fortune 500 company. Know the battlefield, best of luck.
The reason I argue so vehemently against normalizing this kind of stuff (even if it is normal at F500s) is that it can create a level of learned helplessness. When I worked at such a company, it was absolutely everywhere. Despite the fact that folks were well paid, they had a list of grievances a mile long that made every waking hour at work absolutely miserable. But whenever I asked why they didn't just leave for greener pastures, the answer was along the lines of that learned helplessness -- survival instinct, etc. For me, the answer was simply "I can do better than this elsewhere. I will vote with my feet."
I think that sent a different message to the management chain, and I don't regret it.
The fact that you're killing it on "crud APIs" and they aren't impressed could be their way of giving feedback. If they aren't happy with that, ask them what else you should be spending your time on instead. If they aren't seeing you as taking a lead role because there are already seniors on a project, find a project without a senior and take ownership. People are always sending signals, they just might not be clear. The fact that you're so quick to dismiss them as bullshit here tells me that you're not picking up on them.
In any case it's worth initiating a conversation with them and asking directly what you can do to meet their expectations. And then follow up on that. I've seen so many cases where an IC thinks they're crushing it in ways that just don't matter to their manager and then wonder why they aren't being recognised.
Their job is to advance company goals, hopefully that’s aligned with their best engineers growing as well, but someone has to CRUD their CRUD APIs and that someone was you on this project. It’s fair to ask what the promotion path/chances are (as you’re doing) and if those answers are not compatible with what you want, you change jobs. Their main job is not to give you work that will lead to your next promotion.
That’s a promotion where the company goals and your goals are perfectly aligned and you only have to show increasing technical competence and no crippling deficits elsewhere.
In many ways, it’s like getting from promoted from grade 3 to grade 4 in school. Do all the grade N work and you’ll progress to grade N+1.
If you’re making the case to go from a mid-level IC to a senior level, promotion is rarely about “nine_zeros hit all goals at a lower level” or “nine_zeros shipped at-level quality code on time at the direction of eleven_zeros who is at the higher level that nine wants to become”. That’s what full performance at your current level looks like. Performance at the higher level job is more about leading the project (or a big part of it), taking business strategy and turning it into your team’s technical goals and promotion into that level is supported by initial glimmers of evidence of doing that work, not (only) by strong performance at your current level.
I suspect it's incompetence in management but I'm happy to hear how you would defend such behavior.
I’m trying to help paint a picture of how the promotion process works in a lot of companies, especially for promotions other than the first one. I see it all the time in my own company. People, especially the talented and high-achieving types, seem to think promotions work one way (likely because they actually have worked that way all through their life up until that point) and are genuinely confused when they are faced with the first time they work under a different model.
“What do you mean I’m not being promoted?! I passed all the tests assigned to me in single-variable algebra!” That would never happen in school, but if it did, no one would explain “yes, but there was a teacher there providing guidance.”
“What do you mean I’m not being promoted to SWE3?! I demonstrated 9 months of mastery at SWE2 and hit all the goals assigned to me!” “Yes, but there was an SWE3 guiding you on that project.”
High achieving SWE2s often think that’s as ridiculous as the algebra example, while most managers and tenured SWE3s see them as obviously different.
It’s entirely possible that they’re screwing you over. When you ask for specifics, they offer, and you accept “better delivery” as an answer, effective communication did not happen. The specifics you reported above are exactly not specific.
For all I know, your opinion of your work is higher than theirs and they’re maliciously trying to keep you grinding away as long as possible.
Equally for all I know, they think there’s a couple things you need to shore up to be ready for the next level and you aren’t listening hard enough because you’re so focused on the prize that you’re debating them on every point they raise rather than reflecting on the 10-40% of what they say that’s dead right.
Equally for all I know, there’s a policy in the company that is blocking a promotion at your amount of tenure in role or something else.
The only thing I’m 100% sure is among you, your manager, and me, I’m the one who knows the absolute least about the situation.
And your manager knows it too, it seems.
If you think it’s affecting your health, it’s a no brainier.
All of us are frustrated about the company's (lack of) leveling system, poor compensation, and overall lack of leadership on this and many other issues. Many other engineers are too and some more will likely leave over the next couple of months.
A new banding system has been in the works since I started 3 years ago.
Companies need to have this figured out and operate in a clear predictable way to avoid exoduses like what I'm seeing (our engineerinng division has had 5-6 people leave since the start of the year including us 3).
If you're in a leadership or executive role, your priority should be to create a space that allows for individuals to move up and progress in their careers. Let your team - engineers, designers, managers etc - focus on building the product. You need to build a business.
Your company is profitable but has slow organic growth in revenue/profit (single or low double digits). Everybody has more work on the table than is actually doable. To keep up with demand, you can hire sporadically one person in this department one in that... If you're numbers are good, maybe you can hire in the single digits per year.
Since salaries (especially in the tech sector) are rising much faster per year than your growth or inflation for that matter, you must pay much more to the new hires. This creates a salary gap in your team and leaves also less money for yearly salary adjustments for existing employees. Also since I hire only few per year, i cannot offer a meaningful Management career path, nor can i promote every Dev to a architect or principal. After all, to keep the business running, I need devs that do Dev work.
In the current artificially inflated tech market (thanks to easy money), if I job hop i can increase my pay by 20%. However which normal company is able to regularly increase the salaries of all their employees by that percentage and grow head count? Impossible.
> Since salaries (especially in the tech sector) are rising much faster per year than your growth or inflation for that matter, you must pay much more to the new hires.
> In the current artificially inflated tech market (thanks to easy money),
By some accident engineers have offered their time to this business which is unable to put their efforts to good economic use, and hence unable to pay market-competitive salaries. The management at this firm needs to think hard if they really need expensive skills as inputs, and if they do, why are the returns so meager.
However, your advise is not very actionable, given that the current market is one hot bubble, where investments and valuation is not longer based on market fundamentals, see [1].
If you're a company hiring engineers but can't offer a 'market rate' or find that people aren't accepting offers because the compensation is too low, your other bargining chip is to offer equity.
Maybe its .1%, .05%, .2% or even .5%.
Why can't these growing businesses that are profitable offer equity to their employees? Equity aligns incentives. If the buisness is growing and profitable the equity is valueable (and should grow in value!) as well. Even if the company remains private, there are mechanisms for trading shares of a private company.
Companies don't need to raise salaries by 20% for everyone every year. They do need to be open to making adjustments as needed. Especially if they care about retention. Otherwise they'll end up spending far more than that 20% increase on turnover, hiring costs, and onboarding costs. Which will only leave them at the same capacity as before.
The new hire will likely also be asking for a higher salary since the market will have appreciated anyway.
If you happen to know of a place though that offers 20% raises each year I'm all ears!
The market for tech wages is the market. You might get a couple years of loyalty or inertia out of current employees, but if you don’t (whether won’t or can’t), pay compensation needed to land too talent, you won’t have it.
A previous employer took the explicit decision not to have formal levels because they didn't want people to fixate on individual promotion, instead to focus on the organisations goals. To me that seems in conflict with some basic commercial forces operating in the market. You can possibly pull that off if you're also offering a job for life with salary that keeps pace with the market, and amazingly interesting work so noone ever gets bored and just fancies a change. Bell Labs or Xerox or a legendary company like those could do it. But very few companies like that exist now, and this wasn't one of them.
https://www.quora.com/What-are-the-levels-titles-at-Netflix-...
Netflix also has an intense culture that the industry recognizes.
While they may not have 'ladders' they certainly compensate well. When a Netflix engineer considers leaving, I imagine they look at roles that have a total compensation similar to or above their current compensation.
Ladders can sometimes just be a proxy for compensation as a means of organizing (or rating) individuals relative to one another.
Netflix is one of the exceptions in my book.
And banks have accelerated the early years path to compete with tech and private equity by including accelerated 2-year paths at the analyst and associate levels for top bucket performers. Now these banks are still hemorrhaging junior talent now more than ever, but that's probably more of a function of lifestyle (80-100 weeks for your first 5-6 years before things start settling down).
The review cycles are generally okay (not good by any stretch) but manage to capture whether or not someone's impact is outsized and worth accelerating. So a great job of finding the 8-10/10s but pretty poor at delineating between 4-7s.
Not possible to use that model in engineering organizations (at least the ones I've seen) because there isn't an apprenticeship model in tech as in finance so it is harder to promote a 7/10 performer every 3 years reliably because they may not be capable of doing the next job due to specialization and less linear skillset building.
I know you would stall at some point, but at least it wont feel soul crushing until then.
Even if you managed to get in at a high level it can be very hard to actually operate at a higher level when you’re new at the company. A lot of people fail to ramp up.
To be clear, there are definitely a handful of firms that have levels similar to what can be found in FAANG but not many. Also, I should say "GAFAM" since Netflix doesn't even have levels—but that's not as well known a term.
Employment is at will, and that goes 2 ways. If a company isn't willing to support you in your career long term, there's no reason to support the company long term as an employee.
I think it’s under-appreciated that these systems are so inherently flawed, especially regarding meritocracy.
https://managingml.substack.com/p/a-cap-theorem-for-career-d...
There's also the problem that, especially as you move further away from direct P&L, calculating value is really difficult. I work in infrastructure and engineering productivity. When I'm lucky, I can get an engineer-hours-saved metric, but most of the time I can't get that directly, and my work reduces system complexity, which pays off eventually in time saved or outages avoided. Systems that try to sort of directly reward performance fail for a lot of cases where that's fuzzy.
It also, speaking personally, hasn't been a huge issue, and I don't see the slow-growth that the original article talks about. My compensation has been increasing on a linearish trajectory fairly quickly, and that doesn't appear to be slowing down yet. My growth (both career and compensation) is faster than many, though not all, of my peers. I know people who took 2x as long as me to get promoted, and I know people who did it 2x faster (and that's true both from 3->4 and 4->5, we'll see for 6). That doesn't sound particularly tenure based.
Making the time to setup the measuring/monitoring is a bit of a pain but it's worth it. I worked in the same vertical (infra/"DevOps"/engineering productivity) before I shifted to becoming a people manager. Here's some of the things we're setting up now to measure this:
- Using something like https://github.com/ImpactInsights/valuestream to measure number of deploys per week, build times across pull requests, length of time it takes a pull request merged across the entire team, etc.
- If you want to get fancier, setting up simple tracking to measure how much time running "npm install" takes across all engineers on their local machines. This could get logged in something like Datadog/Grafana/whatever graphing solution you want.
- Zoom out even further. Are releases being slowed down by other teams by accident? E.g. we had a feature delayed a week by accident because the marketing team didn't know a feature was finished, in production, but behind a flag waiting for them to write marketing copy. We're currently setting up a way to track "features in production but behind a flag" in Jira better and feed that "lag time" data into our overall deployment picture.
The idea being, for every task you're executing to "improve developer productivity" you should have a hypothesis with about how much time it'll save the team. If you can't get that right away, I'd move on to a task that has a better measure to it and knock that out first. If you completely run out of tasks and measurements, that's when you can take bigger bets on tasks that have more fuzzy measurements next to them.
In my experience the work here never dries up though.
I'm also at Google. I know a few L7s/L8s who lead these sorts of engineering productivity teams and organizations. It isn't just that they aren't prioritizing getting precise numbers. It is that the entire industry has very little idea how to measure engineering productivity. This is a stupendously difficult problem and an area of active research.
The metrics you describe here are okay (build times are easy to measure and can be directly valuable) but they really do represent a limited view. They don't capture all sorts of important stuff. What is the measured value of transitioning to a new C++ version? What is the measured value of best practices documentation and training courses?
Measurements are stupendously valuable when they are feasible and meaningful. But there is real work that should be done that is almost impossible to convert to numbers, let alone dollars.
Bands are not the problem. Mindless, extremely rigid adherence to bands is the problem.