This actually does mean something, but SV companies have been handing it out like bullshit for so long that most of us don't even recognize that, and reject what it means as absurd because it's so completely unrelated to how it's used in our industry.
Junior means <= 3 years of experience.
Intermediate means <= 6 years of experience.
Senior means <= 9 years of experience.
Staff means > 9 years experience
"But my buddy Frank is a senior engineer at a company with three people and he just got out of bootcamp six months ago"
No, your buddy Frank is a junior engineer who took a false title
I humbly disagree. Experience means nothing. The ranking is defined by how capable engineer is.
Do not get me wrong. Title != ranking either. There is no industry-wide agreement what senior engineer is. Frank might be a senior engineer in his company -- because because he proved in short time he can perform on the senior engineer level of that company.
Each of us has limits. For some it is Senior, for some it even could be Junior. If people are happy in their level, there is no reason why they cannot be productive for many, many years.
I disagree with this: In my 20 years of Software Engineering, I've seen plenty of super smart, knowledgeable and enthusiastic Junior and mid level engineers making wrong decisions that "in theory " look right because they just haven't seen enough production systems.
Battle scars are quite valuable, particularly when shit hits the fan and you gotta draw from your previous experience to understand what REALLY is happening in very short time.
As a specific example, in a previous startup 8 years ago, we were 3 engineers. Two of us had good field experience and the other guy had outstanding academic/algorithmic skills (he won several algorithm competitions). At some point some crap happened to production systems. When the 3 of us saw the logs, he suggested a couple of root causes that just were not really probable. The other engineer and I could "read between the log lines" and got to the real cause pretty fast.
Disagreeing with social norms doesn't strike me as humble.
I didn't say anything about whether experience was important. What I said was "these words are used to describe years of experience, and people trying to use them to describe skillset are making an error."
Most of the resume is about skillset. Why try to make this about skillset too? You've got entire lists of your specific skills, plus your jobs where and how they were applied.
To me, this seems like saying "no, college degree means I have the skills, skills are more relevant than education, I didn't actually get the degree but I have the skills, so I can wear the title"
Except that phrase doesn't mean "skilled," it means "years of experience," just like a degree doesn't mean skilled.
The reason we in hiring want to know how many years someone has under their belt is:
1) Everyone who's been in the job two years thinks they're the smartest and most motivated and that means they're just as good as everyone above them, and
2) Very little about seniority is actually about skillset. It's mostly about being able to define work, to be dependable, and to be able to clearly communicate expectations
.
> There is no industry-wide agreement what senior engineer is.
There doesn't need to be. This is nationwide, across industries, and a matter of law for government jobs. Agreement, by industry or individual, isn't relevant.
This would be like asserting that there's no industry-wide agreement on what age of employment is. There doesn't need to be; we have society for that.
You can crack any HR college textbook and look this up. These words have meanings, regardless of whether you imagine an industry wide agreement exists.
What use does a word like "senior" have if it means something different company to company? What's it even there for, at that point? In hiring someone, what do I learn from "oh well they performed at that company's senior level?" Do you think I know what every company individually defines that word to mean? Who is gaining calibration there?
> Disagreeing with social norms doesn't strike me as humble.
we're leaving in different social circles... so it is totally possible that the norm i see differs from yours.
I worked once for the startup where idea was, "engineer" does not need prefix. Salaries, responsibilities, you name it -- were different. The title (in R&D) was not. Nobody cares.
I did not say "skill". I do not care about skills any more than I care about years of experience. The only thing I care about is ability, willingness, and readiness to contribute. The same person might match differently in different companies. E.g., intimate knowledge of C++ in embedded systems (e.g., avionics software) might be highly irrelevant in web-oriented startup, which is pushing Python. Would 10+ years engineer qualify for "staff" position? definitely no. "senior"? -- maybe. If Boing had layoff, it might be an option for somebody to restart carrier. A good person will quickly grow through the ladder, in the same company or moving on. But immediately? please.
> a matter of law for government jobs
One can think of government as a single employer. In my company there is a levelling guide. We do not care about government, government does not care about us. :-)
This assumes that experience is more important than skills. An extremely smart and motivated programmer with 3 years of experience is going to be far above a programmer with average intelligence who phones it in.
> This assumes that experience is more important than skills.
No, it doesn't.
It just means that the word "senior" measures experience, not skills, and is frequently misused.
It's fine to prefer a super skilled junior, and smart companies do that all the time. But that doesn't somehow make them senior, and failing to understand the distinction is a significant problem for hiring.
.
> An extremely smart and motivated programmer with 3 years of experience is going to be far above a programmer with average intelligence who phones it in.
My experience in industry and my personal viewpoint is that actually lazy programmers tend to be the best. They don't over-engineer things, and they write their tests, because they know it's better to spend an hour now than five hours next month.
My experience is that smart and motivated people tend to fall on the Knuth side, and not the McIlroy side, of More Shell Less Egg, and this is not what I personally want.
Anyway, this is all irrelevant in my opinion. We can hem and haw until the cows come home about who's going to be a good programmer, what styles we prefer, what candidates we prefer, and who knows, maybe one of us will get lucky and say something correct one day. Most people never do. :)
In the meantime, these words formally refer to years of experience, and if you want to focus on their skillset, then read their list of skills, instead. The standard resume has not just an explicit list of skills but also how they were used in previous jobs, and this doesn't come up this way at all outside of hiring. It's a concreted matter; you can look it up in HR textbooks, and in government jobs it's a matter of law.
Similarly, their education isn't about their skillset, but it's important, and it should be on the resume. (Originally that said "phone number" in the hope of being funny, but it came off as sarcastic.)
Yes, skills are very probably the most important thing you can find on a resume about a person you're going to hire, and almost the most important thing about them in general (behind honesty and workplace toxicity.) But also other things are important too, and not every single thing on the resume needs to be about skill level.
When I want to know years' experience, there are other reasons I want to know that, beyond their skillset. It'll have a lot to do with whether they know how to document, how to gather requirements, how to write plans, how to contact stakeholders, how to push back against bad decisions, how to communicate schedule slips, how to make themselves available.
Yes, skills matter a lot, but also, the stuff under years of experience do too, and there needs to be a way to communicate that.
If I had the magic staff-reader wand, and two candidates, and it said "super skilled junior" and "average senior," there are actually times where I would prefer the latter. Not a ton of them, but also not zero.
Don't co-opt everything towards skills, or you'll blind yourself towards other important topics.
This actually does mean something, but SV companies have been handing it out like bullshit for so long that most of us don't even recognize that, and reject what it means as absurd because it's so completely unrelated to how it's used in our industry.
Junior means <= 3 years of experience.
Intermediate means <= 6 years of experience.
Senior means <= 9 years of experience.
Staff means > 9 years experience
"But my buddy Frank is a senior engineer at a company with three people and he just got out of bootcamp six months ago"
No, your buddy Frank is a junior engineer who took a false title