An excellent point. This misconception that hard work leads to promotion is widespread, and management doesn't often do enough to dispel it (if they are even aware of it themselves). I think an important step here is to identify the concrete behaviors and competencies needed to advance. In the words of Randall Koutnik: "What does it take to succeed at [your] company beyond 'hard work'?".
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.
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.
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.
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.
Maybe google or something is different (and I doubt it), but that's less than 1% of engineers.
- 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 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.
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...
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.
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.
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.
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.
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.
Like any other job, people tend to respond to what they are told will be the evaluation criteria.
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.
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.
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.
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.
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).
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.
The companies I have worked for in the past and those where friends and family work tend give "raises" to match inflation and sometimes a bit on top.
There are also plenty of companies that dont raise your salary at all unless you get promoted.
I think that is part of why many people advise new graduates to change jobs every 2-3 years for some time as often the salary of the newly hired tends to reflect the current market rate.
I have had instances where newly hired people with less experience than colleagues received 20% more salary simply because they were new. This is for the same job and productivity level.
Your standpoint on promotions is perfectly fine and even healthy. Not all people want to get promoted and as long as your are comfortable in your job and like, or at least not mind, doing it, thats okay.
Your boss and the company you work for may very well genuinely care about you. They may have also raised your salary because your are extremely knowledgeable in your area and cant afford to have you leave the company. They could also very much underpay your current market rate and raised your salary to match what other people are earning in that position. No one except your boss can answer that.
Leaving a company that you like working at is a risk and can backfire. I did it once and regretted my decision. Other times it can be a great decision and expose you to new things that you may end up liking even more than your current job.
At the end of the day that decision is squarely on you.
Sadly, the order I listed those is in decreasing order of how likely each company is to offer them. So many companies are reluctant to give out pay rises (and I'm not talking 2% inflation rises that only ensure you stay above water). There's almost this unspoken principle where if you agreed to do a job 5 years ago for one price, why should you want more to do the same job 5 years later? There's no notion that maybe your institutional knowledge is worth something, or you're a better engineer now, or the company will be worse off if you leave vs. if they hire somebody else.
And so, people more often than not move companies to get a raise. Gone are the days where you can start at a company as a grad, and work there till you retire. I wish those days were still here, but they're not. Every time I got a raise it was because I moved jobs.
That said, people want to get promoted largely for some combination of increased status, power, and income. I don't think it's worth taking a job you dislike for these things, though. Life's too short.
I’m sure that’s not actually true for you anyway since it would be really hard to not gain an immense breadth of knowledge from twenty years of constant industry exposure. Breadth might not pay as well as depth, but you probably aren’t giving yourself enough credit if it felt so gradual.
Many people make the mistake of working like a donkey, or burrowing themselves as essential parts of some process.
My experience is that the biggest promotion driver is always the product success. And the product success also vary between organizations. I've seen a huge project promoted people in the process, but in the end was entirely canceled and delivered minimal value, while the promoted folks wisely left the team. While in other places, if the product ends not getting their customers happy, execution excellence is not rewarded much.
If product success is not easy to get, the team can be very excellent, but wont have much growth space in seniority. That has nothing to do with their personal skills etc.
The real way to determine your role and authority is measuring from top down. How many steps are you away from the CEO. Titles don’t mean much.
Necessarily the nature of the job changes a bit if you are a the head of an organizational unit of 600, or 60, or 6. But it changes fundamentally if you have ultimate budget authority, hiring/firing, etc.
Agree there are a lot of somewhat ridiculous titles in early stage startups (ever seen a 5 person company with 3 "C" levels?) but even when you are small (but growing) there is a role distinction between exec and non-exec roles, and there is a difference worth drawing between director-in-name and director-in-fact positions.
If you are truly acting as a director of engineering, I'd expect you have broad authority to act; you don't ultimately decide your budget or technical goals (but you should be involved in determining both) but within those constraints you have most of the decision making responsibility for how & who.
Small nitpick, I have no idea what the terms "EOS" and "L10 meetings" mean.
"The first time you use an initialism or acronym in your document, the words should be written out with the short form placed in parentheses immediately after."
EDIT: Just spent the last 45 minutes adding it in on my sites in various spots, hopefully this helps the readers.
L10 = Level 10 Meeting
I'm not going to trudge through clear marketing/sales copy to get down to a few common-sense nuggets of information. Stuff like this is clearly a sales pitch for books/courses/etc vs. any sort of real-world education around management and entrepreneurship.
Typically when it gets implemented in an org it's just a cargo cult "Simon Says" game that'll get ya fired if you don't drink the koolaid.
With Level 10, you basically elevate your team and meld them into Chuck Norris.
One of my favorites quotes in the book "The 5 dysfunctions of a team" is
> A friend of mine, the founder of a company that grew to a billion dollars in annual revenue, best expressed the power of teamwork when he once told me, “If you could get all the people in an organization rowing in the same direction, you could dominate any industry, in any market, against any competition, at any time.”
Well, except things in the dirt.
How do people in positions like this manage to keep track of individuals when the numbers could be in the lower tens to hundreds? Perhaps is one of the traits that makes one a good director? It seems like something like  but for tracking office relationships could be a good idea.
OTOH, it maybe that people that matter the most naturally flow to the top of the director line of sight, or that they are making a bigger effort for that to happen :-).
I don't understand how people who can not execute and lack technical expertise will be a better fit for engineering leadership than those with strong technical skills ?
I would add, at a larger company, the director also takes on a lot of the burden of organizational navigation/representation.
Director of Engineering does not use spell check