Preferences

> downleveled from senior to mid ... because I didn't have enough years of experience in tech-specific jobs ... I was disappointed in Shopify for using such a reductive metric to determine levelling

I'm confused by this. Isn't this a pretty sensible reason to be downleveled. I don't think a company would care about your years of experience as, say, a lawn mower. In terms of experience, wouldn't years spent front end coding received almost all the weight?

Sure, your years mowing lawns may have been rewarding and may have helped you build good communication skills or something, but surely we don't expect companies to bump you to senior on that basis?


Being downleveled for "years of experience" is obviously silly.

There's a common adage:

You can have 10 years of experience, or 1 year of experience repeated 10 times.

--

I don't know the author, and it's possible that Shopify used this as an excuse because the authors talents did not meet expectations or claims: but "years of work experience" is a very poor marker for ability and experience, since years are not equal between people or roles.

> obviously silly

No. You've drifted into believing your opinions are facts. Reasonable people can disagree.

Having hired many people, I understand that everything in the hiring process, no matter how well calibrated and tightly looped, are rough heuristics for how well a person will do in a role.

So years of experience in the relevant activity gets at least equal weight to responses to relevant technical questions, coding challenges, etc. Yes, FAANG experience carries extra weight in opening the door because FAANGs are known to set high bars and have (overly) intense filtering. Etc. Etc.

> No. You've drifted into believing your opinions are facts.

Fair enough.

I've also hired "many" people (many in my case being about 12, so that may not be "many" by other definitions).

I think it's fine to disagree, maybe my overall sentiment was much too strict, but let me just say that in my experience years != years, even people in the same roles at the same company can have wildly different experience levels from the same years of being there.

This isn't really accidental either, a good example was.. me.. actually, I had a colleague who had the same number of years experience and for all intents and purposes we actually matched super well in our abilities and mentalities.

However, we worked together for 7 years, on the same projects, same deadlines, same tech, same responsibility.

That man knows far more about influxdb than I possibly can: despite both of us having "7 years influxdb" on our resumes.

I know more about postgresql than he likely ever will, but we both have "7 years postgresql" on our resumes.

Aptitude is one thing, attitude is another, and at the end of the day: the only thing that works is to set your standard and see if people hit it.

For me, senior means that you're able to teach, are self motivated, can speak at a high level to leads or directors and understand business need, regardless of technical competence in specific technologies or years experience.

If you hit that bar, you get the title, if you don't, you don't.

I feel like it's reasonable to hire someone at a lower level due to lack of years of experience.

Down-leveling after the fact is a punitive act. My guess is the years of experience thing was just an excuse for some business initiative to cut costs or was a personal attack on the OP.

Except it was not "after the fact"?

He got interviewed for a senior position, got offered a mid-level position. Seems to fit exactly the case that you find reasonable.

Years of experience is relative to the company, and software type. Companies like Google, production products are likely on a totally different level than almost any other product in existence. So 10yrs at none google company is not equal to Google engineering. What plays into all of this is the complexity of the problems they solve at scale, and level of academic sophistication. Map software, search engines, Google app suite gui products are not simple or easy to build.
You can have 10 years of experience, or 1 year of experience repeated 10 times.

This is a good adage for why 'time served' is not a particularly useful way to judge someone's level of experience, but you can't invert it and say it means time served isn't important at all. Someone with 1 year of experience might have the same experience level of someone with 10 * 1 year, but they obviously don't have the same experience as someone with 10 years of real experience.

"You can have 10 years of experience, or 1 year of experience repeated 10 times." is only useful as a way of differentiating between two candidates with 10 years experience; it can't be used to suggest someone with 1 year of experience is as experienced as someone with 10 years. They're only as experienced as the bad 10 years experience.

I think that's completely fair, but are we really talking about people with 1 year of experience as if they have 10 years?

I'm not saying experience doesn't matter at all, just saying that it's a poor marker for seniority.

FWIW when hiring I tend to avoid thinking about years of experience; else I allow some implicit ageism into my assessment; my definition of senior has very little to do with actual technologies and is more to do with how you use those technologies and if you have experience being self-motivated to deliver something with business value.

> I'm not saying experience doesn't matter at all, just saying that it's a poor marker for seniority.

In many contexts seniority is literally defined as years of service. I take your point to mean that experience isn't everything, and that there are many people with less experience than others but with more talent or skill, but I think there is a reasonable expectation that a senior developer (in terms of years served) ought to have certain qualities that one cannot expect in someone with far fewer years of experience, regardless of how intelligent/skilled/talented they might be.

Wisdom is one quality that takes years to arrive at. In a developer, wisdom is the quality that leads to questions like, "Yes, we could do that...but should we?" It's the lived experience of writing enough code that never got used to be able to call YAGNI. It's knowing when to be cautious about adopting new technology, because of all those times someone picked the wrong new thing that they still had to maintain five years later.

Yes. It's reasonable to say that some people with 15 years of experience won't be qualified for some senior role and others will be. But unless there are really unusual circumstances, you're probably not hiring someone with just a couple years of experience for that role--however well their interview went.
You contradict your own point. Even that adage accepts that the upper bound on the amount of experience you have is based on the time you spend. You can have 1 year's worth in 1 year, or 1 year's worth in 10. But you can't get 10 years' worth in 1 year.

I think experience is vastly overused in hiring; it's a classic example of picking the easy thing to measure over something meaningful. But experience really does matter. Living with a code base for an extended period teaches you about consequences that just aren't obvious.

They might have said "years of experience" because the candidate was lacking some important skills that Shopify needs in their senior engineers, and Shopify felt that the candidate was plenty smart and the only reason they hadn't learned those skills was a lack of time and opportunity, which a few more years in the industry would likely cure.

Sometimes the handful of words that filter through on the internet don't do justice to the reasoning behind them.

Couldn't you be fooled by someone that meticulously studied Cracking the Coding Interview but has never opened an IDE in real life?
Given that I don’t at all ask the kinds of questions in that book I think it’s unlikely.

My questions are usually: “tell me about a time you x”

“Who helped you, what did you like about them”

Or “nobody helped you? Was that by choice, how did that feel”.

You get the gist.

I think the problem is they knew his CV and were interviewing him for a senior role. It's a little manipulative to string him along as interviewing for a senior role when they knew up front they never would have hired him for that role.
> never would have hired him for that role.

Reading between the lines, and having been involved in tech hiring for junior - low-level senior roles, my guess is that they were open to his being at the level of a more senior role than his experience suggested, but his interview performance suggested he really was a more mid-level candidate, like you'd expect from his experience.

It is exceedingly rare that recruiting will give feedback on anything at all subjective; if the true reasoning is "your interviewing reflected your observed years of experience which puts you at mid-level" then the feedback to the candidate is going to be about their years of experience, not the interview performance.

It says in the quoted paragraph that they downlevelled him due to his answers in the interview, particularly soft questions. Soft skills are extremely important for a senior, much more than a mid.
I think you missed the “wasn’t” in this sentence:

> it wasn't based on my answers to soft questions

> Most of the "frontend work" I saw was via Rails ERB templates

It seems that he didn't consider erb frontend or he dislikes it, he was expecting to work on js/react or whatever other framework he knows/likes. That demostrates that he doesn't fully understand what a frontend developer job is.

I think requiring "years of experience" is a relative reflection of the employeer.

My current team has a senior that has been at the company for 20 years as an Analyst, she can't write a line of code without assistance. But she's just buying her time. And we've got a few juniors/midlevels that could out code almost anyone of the team. But because they lack those years on their resume they're stuck in their positions for some time.

I think it's an odd situation to be in though; most companies seem to look at either years of experience or make you do leetcode/Fizzbuzz challenges to determine your level. Which how practical is LeetCode challenges in your actual day-to-day work environment?

Agreed ‘years of experience’ is a crap measure. I’ve interviewed people that put 20+ years Linux experience on their C.V. yet knew nothing about grub or systemd (as examples).

When pressed just a little bit turns out they installed Debian or such back in 2001 then used Linux on and off/now and then over the years. Often not even going beyond the live install environment.

Same thing with programming languages. 20+ years of C++ experience doesn’t mean anything by itself. I’ve worked people with one year experience that are far more experienced in actually using the language and delivering high quality code.

It’s just bullshit gatekeeping and laziness mostly by HR or non-technical managers.

Surely on average, all else being equal - a 20+ year C++ vet would be better than a 1 year C++ programmer, no? Are you saying experience simply doesn't measure anything in programming? I mean I'm a decent programmer but I do mostly Ruby and web stuff. I don't think I'm gonna be that great in C++ compared to most 20 year old veterans.
You would think so but in my personal experience people massively over estimate how competent they are in a language. Even more so when they haven't actually used it in a while (let's say >1 year).

IMHO blindly asking for N+ years experience is a waste of time and puts a lot of people off applying for the position that may be a great fit but feel they are not experienced enough.

> people massively over estimate how competent they are in a language.

Or maybe they were just really mediocre? I can compare myself to myself - I simply know that I'm a better Rubyist than I was 7 years ago. Not just a better Rubyist, a better software developer in general. But sure I can see that maybe some people don't have a passion for the craft and then they kinda stop learning and just get by with what they know. You can continue being mediocre for quite a long time if you can bullshit people - but I don't think that's a typical type in our industry. So I do think your experience is anecdotal. The really great Rubyists I know all have lots of experience - at least 5 years and usually it's well over a decade (I'm thinking of Tenderlove/Jeremy Evans/Sam Saffron etc etc). Btw they're not just great Rubyists they also understand software, the web and even low level stuff quite well, so they're great overall engineers. Sure some bright people can get to that level faster - but that's very rare for mere mortals. It takes a lot of hard work and a lot of time usually, like any skill.

I will say though that for many routine tasks you don't have to really be senior - e.g implement some new end point that talks to a model where you pretty much copy paste from the existing code base, for these types of tasks there won't be much of a discernable difference between a junior-mid and a senior. Senior make a difference in the more complex stuff.

> My current team has a senior that has been at the company for 20 years as an Analyst, she can't write a line of code without assistance. [..] And we've got a few juniors/midlevels that could out code almost anyone of the team.

I mean, there's much more to Analyst and Engineering jobs than coding, especially as you advance up the levels.

Isn't it like that in most fields? Are there never any mid level accountants/lawyers/teachers/doctors who are better than their senior superiors but have to stay the course and bite their lip until they are promoted or get better pay?
> Isn't this a pretty sensible reason to be downleveled

Kind of? It's worth remember that this would not have happened if he'd been a senior engineer at a FAANG company (where people have gone from new grad to senior in 2 years). But big tech hiring is conservative and they don't have great insight to small or non-tech company engineering ladders (though they tend to be less strict for a variety of reasons). The cost of a mid-level promoted too soon is dangerous and so they tend to err on the side of caution, which they can because they pay so much.

I've worked with countless engineers who've had 10+ years under their belt that were outperformed and outthought by engineers with half the experience. People with low skill levels and a lot experience exist. The opposite does as well.

I'm not surprised that a large corp uses reductive and rigid leveling methods to, it happens at scale.

Someone once stated, and I kick myself for not remembering who, that becoming an adult is the process of integrating all of your life experiences (and using them).

On the happy path, most of your benefit is from your experience in the defined position, yes. But things don't stay happy for long, unless you're really good at denial.

I started up with a volunteer group about 7, 8 years back, and quickly found myself leading initiatives because my work experience translated to cat herding (for very small herds). A few years later I caught myself trying to apply wisdom going the other direction. And once I started noticing that, I became aware of all the times I borrow from a very well-run hobby group I belonged to in high school. On reflection, that used to be a conscious act that had faded from my notice.

A substantial amount of the intractable problems you have to tackle anyway are people problems, not technical problems, and any experiences in retail, QA, getting a PhD, organized sports or hobbies, or even chronic illness, give you a lot of experience that you can and should use.

There are technical problems are a battle between you and 'nature'. There's a tenacity I haven't always applied to all things in life, but I refined it by being an endurance athlete. I will fix some tech problems if nobody else will, even if it's the last thing I do. And if a production issue goes unsolved for long enough, I'm one of the last three people in the room who haven't tapped out. And it's not uncommon for one the other two to be an athlete, or former military.

The way I read this is that they had tech experience (e.g. not mowing lawns) but that it wasn't related to Shopify tech, so something other than Rails, JS/TS, etc. Still, it seems to me like as good a reason to get downlevelled as any. If you join a Rails company without Rails experience, I would expect a downlevel but an articulated path to "get back" to your current level faster than normal.
I dont think it's unreasonable. Like any standard, it's imperfect, and shouldn't be followed mindlessly. But it has some basis in reality, in that most people get better at their job the longer they do it, and few people get worse.

I think we should be aware of the fact that we're reading an accounting of the story from one viewpoint, and hiring/levelling decisions are usually not shared in depth with people who don't need to know. And most people are bad at judging how well they did on interviews.

Saying they didn't have enough years of experience may have been the way the recruiter decided to share interviewers' feedback that they seemed inexperienced.

Or maybe it was a negotiating tactic, and the company expected the candidate to push back.

Or maybe it's a simplistic metric the company put in place to cope with their rapid growth over the past 2 years.

We can only speculate.

It actually isn't a sensible reason to downlevel.

Let's think about it this way. I apply to Xibalba Corp. for a Senior Dev position. You're a recruiter at Xibalba Corp. and you use YoE to rank candidates (as a shortcut for critical thinking which is much too hard). Why would you move past the screening stage knowing how many YoE I have? It would be dishonest of you to move past that stage with my candidacy knowing that you would later downlevel me.

(I am not claiming Shopify did this, merely an example.)

I think it's a bit silly as a rationale alone. But it's pretty clear from the rest of the article that this engineer isn't nearly as senior as they percieve themselves to be. For instance...

"I will always optimize career decisions based on a position's potential to improve my ability as a developer. I will optimize for this over title, benefits, and pay."

If this truly was a position they were taking that was below their level of seniority I don't think they'd necessarily feel so optimistic about growth potential.

If anyone wants to strip you of your "Senior" title, run.
Counterpoint: I left a company where I was a Senior Software Engineer and among the most experienced devs of the ~25 they had and joined a company where I was clearly the least experienced dev of the ~10 they had. The CEO of the new company told me that Senior wasn't a realistic title for me in comparison to everyone else and I'd be hired as a Software Engineer—but that I should feel free to use "senior" on my résumé if I thought it'd be helpful.

I thought that was incredibly reasonable. For what it's worth, I do not use "senior" on my résumé and if I'm ever asked why I got downgraded after multiple senior positions I'll happily tell this story.

Perhaps in the FAANG community there's room for this kind of introspection. There are many accomplishments and accolades you can point to that carry a great deal of weight.

The mid-career midwestern enterprise line of business developer working for companies no one's ever heard of should cling to the Senior title for dear life. Losing it would signal a spectacular flame out.

This item has no comments currently.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal