Hacker News new | ask | show | jobs
by Traster 2255 days ago
I'll tell you what amazes me: If you look at any reasonably large engineering organisation they will likely have guidance published from HR stating what the criteria are for different job roles, and they'll actually be pretty similar across different organisations.

You might be a Senior Software Engineer at one place but called a Staff engineer at another place, but they're broadly comparable, and the seniority criteria show a very clear progression: the more senior you get the more influence you are showing across the organisation, whether that means managing larger projects, mentoring other staff, consulting with other teams on best known practices, or influencing other parts of the company inter-discplinary projects.

Almost every large organisation will have a neat table telling you exactly what attributes you need to show. They all show that progression - more influence on the organisation as a whole.

And yet every single review cycle there's always a portion of engineers who think they deserve a promotion because their personal work was high quality. It's like they haven't read the job spec of the job they're applying for. It's amazing.

6 comments

I've worked at those kinds of organizations, read the documents, put in the work, and got promoted...by switching companies :).

In my experience, the companies that do have those documents (and not all do) don't actually really use them or make much reference to them in 1-on-1's or reviews. That's because management's perspective is that they are interested in how well you are doing at the job they hired you for, not how you are doing in the job you want.

In the few cases where I've seen people promoted within a company (which pales in comparison to how often people get promoted by switching companies) It was always because management felt that there was a new role that needed filling. Certainly some of the time those people earned those promotions (though not all the time) but the actual driving factor here was (perceived) business need.

In my experience, I've seen plenty of promotions from within (and experienced my fair share as well). They just take a while to happen. But then, I've been at multiple companies for over 5 years. That's probably about how long it takes to watch someone grow from an individual contributor into a leader, including leadership skills as well as building reputational and political capital across the organization.

Patience is a virtue.

> Patience is a virtue.

Your anecdata doesn't align with actual studies that indicate frequent job changes as the optimal strategy for maximising income.

Your loyalty isn't worth anything to your employer in the current market. Those times ended several decades ago.

Here's some counter anecdata: after graduating, I doubled my salary and seniority twice in 3 years with two job hops. If I stayed at my first employer, I'd be lucky to be making a third of what I am now and none of the career prospects that have become available.

I'm in my mid 30s and have a seniority level that lifers at my current employer hope to achieve sometime in their mid 40s if ever.

How many hops through the FAANG circuit did you make, if you mind me asking?
As someone who is not and has not worked for a FAANG or in silicon valley, I would say that the parent comment's observations are still (generally) correct.
I appreciate your perspective. I am not claiming that they don't happen (though in your experience it may be more common). I am claiming that when they do happen, the primary, initiating cause is a need on the part of the business/management to fill a role.

A person may be operating at a level that would qualify them for the new role for quite some time, but unless and until management have a need for someone in that role, the promotion won't happen.

That's why (in my experience) promotions happen more frequently when finding a new job: the fastest way to make sure the employee's readiness for a promotion lines up with business need is to find a business that already needs someone for that role.

Meh, it's been my experience that those charts are borderline worthless. The truth is promotions are probably only fractionally about performance. A lot of it is budget, creating pr/"buzz" [even if it's proportional to impact], did you happen to be on a revenue-generating team, is there any political risk to promoting you (e.g. would you say the type of things I'm saying right now?).

Maybe google or something is different (and I doubt it), but that's less than 1% of engineers.

what makes the difference is:

- your boss is influential (politics)

- you are lucky enough to work on a high impact/ high visibility project

- you play yes man with your boss and please them

- how long have you been with the company and the political connections you have made

... quality plays a very small role in promotions ...

In all the organizations I have worked for, I expected a promotion within the first 2 years (to then leave on the 3rd anyway :) ).

When that did not happen, I simply left and got a salary increase and +1 level anyway.

If you are lucky enough to work in a high demand field (like tech) and you are good at it ... you are pretty much in control.

Qualified people that get s*t done are always in high demand, just make sure to always be on the top and keep sharpening your skills ;)

> you play yes man with your boss and please them

You need to be able to read this one. I've gotten a lot of props for being someone by bosses can rely on to challenge them. But I also don't do it for stupid things, and if they seem to not be willing to flinch then I back down.

What is more amazing is their managers who have figured out how to work the system are not telling people that. Your job should be helping your people get where they want to go so if they can't get there tell them why.

I've wasted years working hard and trying to gain influence only to realize that the areas I was getting influence in didn't matter to anyone so I was condemned to get good jobs but no promotion. It has been hard to let go and find a path with real influence. Where I was going is one of those areas that only seen if not done. Lesson learned though : the guy who created the bad design requiring them to come in right before release and work a weekend is rewarded above the guy who wrote good code that works...

I tell my developers this repeatedly, in the form of "making yourself 10% better is not as good as making everyone you work with 1% better".

A few get it and shift towards a "rising tide floats all boats" mentality, the rest do nothing and are perfectly adequate, or agree with me then turn back to solely focusing on self-improvement.

The kicker? That 1% universal imporvement is soooo much easier than 10% or even 5% personal improvement. You can help your team become more effective just by (1) commiting to the act of (2) giving a sh!t.

The 1% contribution to others is good for the manager, because he gets to take credit for the entire team. The 10% self improvement is good for that individual, because he can leverage that into a better paying role.
It depends on where you are in your career. If you are a below average developer, do like they say in the airplane and "put on your own mask before assisting others." If you are an above average developer, you will be noticed by being the person who helps others more than solving every problem.

At some point in your career, your influence by your own two hands reaches a plateau. You are a senior engineer. How are they choosing the tech lead?

I can speak by experience that the tech lead is often not the most technically proficient on the team. They are the one who helps others the most. They are the one who talks with the most people beyond their team. If I am looking for a lead, I am looking for the person who people look to for help.

> I can speak by experience that the tech lead is often not the most technically proficient on the team.

In my experience, this is mostly true. I've worked with some tech leads that had really average skills, at best.

> They are the one who talks with the most people beyond their team.

You're almost there.

Here is what I've noticed, about those who do get promoted (to tech lead and beyond): they get noticed by being the loudest in the room. They do presentations, they organize meetings (that they lead), and they are in the spotlight. Never giving it up to anyone. Me, me, me.

None of that means they are worth a damn, though. Some of these same people have led the company down technical dead ends or strapped the company with expensive tech debt and maintenance. Managers won't care though because that's their guy (or gal). Managers are really poor at recognizing bullshit and really good at justifying decisions they have made. Beyond covering their ass, it's really hard, psychologically, to admit you've really screwed up. And even harder to undo that mistake. This is how companies go under. All the time.

Very few of the tech leads I've witnessed actually help their coworkers. Especially once they've made the promotion. They tend to just vanish at that point, and camp out on projects they want to do and screw everyone else. Out of 10 tech leads, I'd say the ratio is maybe 2-3 good ones.

I've been there and only learnt that this "wait to be chosen" attitude never pays off. It's rewarded, but the reward is a pittance compared to what that energy could buy.

My advise to myself 20yo would be: learn how to deal with people, learn how organizations work, build capital and get onto the money side of things; but don't let your ego get tricked into the shiny tech lead and manager titles as those are only mirages of wealth.

> I've been there and only learnt that this "wait to be chosen" attitude never pays off. It's rewarded, but the reward is a pittance compared to what that energy could buy.

Wait to be chosen is the opposite of what I think most people are saying here.

You have to actively find out what is important to your organization and how to make both yourself and other people better in those areas.

If what you care about is money, why do tech at all? Sure, it pays well, but not ibanker-well. The replacement-level investment banker is doing to make a multiple of all but the best-compensated engineers.
Unfortunately the flipside of this is very common as well - you are a senior team member, improving those around you and should be promoted and/or given a raise. That allows the manager to let you keep doing it for free, and either (a) sit back and not do their job or (b) influence up and take credit for it. Its a two way street and many places/people in power are happy to take advantage of you trying to do good work.
I really like this perspective, going to keep it in mind.
I spent many years deciding promotions at a big tech company, including for Sr managers. One thing we always looked into was were they growing the talent on their teams, mentoring, growing skills, and getting people promoted. People understood this was one of the criteria for manager promotions, so they spent time on it (and documented it).

Like any other job, people tend to respond to what they are told will be the evaluation criteria.

What kind of documentation do you look at, and how do you document that sort of thing?
> Your job should be helping your people get where they want to go

This sounds nice, and from the perspective of the direct report, sure, this is the mindset that you want your managers to have. That said, your manager isn't necessarily incentivized by the company to optimize for this. What's best for the employee isn't necessarily what's best for the company.

Which is why employees are disincentivized from trusting those managers.
You can tell employees this stuff over and over, some are just not ready to hear it.
People with this "help others" mindset lose competition against their more ruthless peers. If you had a business, would you help others to compete with you?
I've worked with someone who couldn't tell the difference between a coworker and a competitor, and I hope I never do again.
How do you tell the difference? I am not aware of having ever worked with "competitors". My coworkers are my team mates, so naturally I help them when they get stuck.
I would fire anyone in my organization who saw themselves as a ruthless competitor against their peers.
Then you should start with Senior Management and especially the C levels. What was that quote from the office? "There's only one person in charge in every office and his name is Charles Darwin"
Would you rather have your organization be filled with engineers that output high quality work or so-called Staff Engineer influencers?

Personally I would rather most to be the former. Doers are important (probably the most important) and should be rewarded, IMO. Hard work and no promotion leads to quitting.

Getting promoted to Staff etc is more about being put on important projects, building relationships with managers from other teams (i.e. reminding them you exist come Promo committee), and tooting your own horn a lot. IMO, this is not necessarily related to how good you are and perhaps not as valuable to the organization as much as we think.

Personally, I've gotten promoted (or recently, not laid off) basically because my team was selected to work on the fancy new project. Probably some other guy in a different team didn't get a promotion because he was just on the wrong project.

Organizations that are filled purely with "doers" who don't make their coworkers better provide a great perpetual need for people to come in and clean up the mess later at often higher pay. :p

But maybe there's more than just "sloppy isolated doers" and "no-code-writing influencer staff timewasters"...

A doer who does help everyone around them keep the codebase clean too... well... yep, that's the influencer part. So yeah, definitely want that.

In my experience, there are few of those type of valuable influencers around and they have a limited career path. Maybe a promotion or two above standard engineer, but that is it.

Those that rise higher to the very senior positions are are able to promote their image, regardless of how much value that actually provide, and in fact they often provide negative value. That is in IT structures. Our primary mechanism for promotion at Big Corp is "influence". But influence is measured in a completely stupid manner by people who have been promoted to senior positions via the same completely stupid process.

People who come up with a "risk reduction" methodology and manage to sell it to someone senior, that requires all engineers to start adhering to this new methodology, which provides very little risk reduction but negatively impacts a huge amount of productivity, is very likely to get promoted.

For example, one person may have inadvertently done something stupid on a production host such as running CPU intensive operations on huge log files. So instead of looking at the correct fix, which would be to immediately form a small, very capable team of engineers tasked with going across the firm and helping teams get log files streamed off correctly, so engineers have very little need to go onto prod hosts, nope, some person with "influence", will decide with no consultation and no notice that all engineer access to prod hosts is gone. So now to support our applications we have to ask a support team to transfer large files around our network in an ad-hoc manner just so we can perform the analysis we need. Not only is this not much risk reduction, it completely hinders engineers ability to do a good job, which negatively impacts the company.

Yet this person if he isn't already senior, will be able to in the yearly review hugely sell his "risk reduction" exercise and will almost certainly be seen by the other idiots as someone equally capable as themselves and worthy of a similar position.

Great comment, I find that many influencer types aren't actually capable of doing the jobs of their juniors and reasoning about low level systems. Promotion systems don't differentiate between having influence and having good influence. Also, sometimes the hard problems that have the most impact and real org wide influence aren't at the visible influencer level, but instead related to low level "grunt work" problems. A lot of the principal engineer and sr engineering manager types aren't actually worth their salt and can't solve hard problems, instead relying on others to do the work and then participating in high level meetings so they can take the credit.
It looks like we have been working at the same company.
Pairing code, code review, Friday learning seasons where everyone pitches are often far better than organisational concept of mentors.
> And yet every single review cycle there's always a portion of engineers who think they deserve a promotion because their personal work was high quality. It's like they haven't read the job spec of the job they're applying for. It's amazing.

I have found in my career that most engineers don't read anything. Emails, HR docs, AC, nothin. The first to get mad and the last to think that they could adjust their behavior.

(I am an engineer).

> It's like they haven't read the job spec of the job they're applying for.

Amazingly, some organizations do not hand every new hire that document on day 1, so that they understand what different roles entail. Sometimes managers don't even know about that document, and discover its existence because someone asks about it, who in turn was told by a mentor who happened to know about it.