Ask HN: Is long-term employee commitment to the same company still appreciated?
I often times see a Linkedin/resume of a senior engineer where they have jumped ship every couple of months, staying max <=2 years in every company they have worked at. Imho, I always thought this was a red flag during the hiring process at a new company, as it doesn't show any long term commitment. I can understand junior/graduate employees jumping ship often in the beginning, but for +10 YOE software engineers, I find it odd.
In contrast, staying too long at a single place could make it seem like a developer doesn't want any changes.
What is your opinion on this?
91 comments
[ 6.1 ms ] story [ 150 ms ] threadEvery now and then you do find a company which has no alternatives like SpaceX or Renaissance Technologies or Steam. People don't leave those easily.
It is much easier to work on shiny stuff and jump ship than taking ownership of crappy stuff. Remember, what is shiny initially can become crappy over time and I want engineers who have been through all of it. Not just the good parts.
You are missing the (most common) case that those bad stuff are already there when you join the new company. Switching jobs doesn't automatically mean starting from a clean slate.
The good part of changing jobs is you get to see actually a lot of bad and good stuff, often even at the same project.
I don't see a person jumping ship every 2 years as a liability, as long as they onboard quickly and get their job done. It's always great to retain more knowledge but we move on if it doesn't.
Those who job hop every 2-3yrs do so (usually) for career advancement and nice pay bumps along the way. The salary bumps are unlikely to match if they stayed at one place.
https://jacobian.org/2022/oct/14/when-is-short-tenure-a-red-... with HN thread here: https://news.ycombinator.com/item?id=33309342
https://jacobian.org/2022/oct/20/tenure-and-seniority/
Though, "appreciation" has nothing to do with it, it's really about the somewhat fixed overheads of integration, de-integration, and re-hiring. My sensibilities would be different if costs were higher (desiring longer tenures) or lower (more relaxed on even shorter tenures).
IMO: Tenure at a company should increase with experience. It's hard to do monumental software engineering in a short stint; but there are often good reasons to "get in and get out" too.
IE, it's good for someone to have shorter tenures early in their career, as they're still understanding the industry. Very few of us are lucky enough to have an entry-level job that we want to turn into our career. Also, it's really hard for a candidate and company to mutually evaluate each other in the interview process, so short stints for an experienced software engineer will happen.
I wouldn't jump to the conclusion that someone who stays in a job for a long time is underpaid or doesn't like change: These are the people who often develop into the archetypes described here: https://lethain.com/staff-engineer-archetypes/ (https://news.ycombinator.com/item?id=33112915)
All of that said, I probably left a ton of money on the table by not grinding for money in my 20s.
This is the primary problem. American companies aren't willing to give 100% raises year after year to keep up with their competition and retain their employees.
There might be a company out there that appreciates it. There might be a company out there that rewards it. I haven't experienced either of those things.
I was convinced by everyone else's horror stories that my job was so great, and I wouldn't find a better one. I should have changed jobs more often. Every 2 years like you say, would have been about right.
For example, its easy to be a "dead wood" employee at a large employer. You can stay there as long as you like, and get away with not doing much - in relative terms, I'm not talking literally twiddling your thumbs as the years pass by !
Meanwhile long service at SME size companies is worth more because there is nowhere to hide.
On the short side of the spectrum, absolutely without any doubt whatsoever, anything less than 2/3 years pattern is a MAJOR alarm bell.
Why ?
Because less than 12 months basically means you keep getting fired on your probation periods and you probably should not be touched with a bargepole.
Less than 24 months and it sort of smells like itchy feet syndrome.
So (IMHO) 3–5 years is sort of the sweet spot in tech. It shows you have a degree of loyalty, but also want to keep one eye on career progression - assuming your CV clearly reads like career progression, not ship jumping !
A lot of people switch jobs frequently because they feel it's the only way to advance, or at least the most cost efficient way. That's not the case for me: I would love to find a place to work for the next 20 years, and if they give me cost-of-living increases and the occasional attaboy raise, I'm not asking for more than that. I make plenty of money, am not looking for a fancy title, and run the other direction from leadership positions. I don't even care about "solving interesting problems at scale" or whatever people say they're chasing.
BUT, the reality is, I haven't found a good company — one where I think I'd like to stick around due to culture and stability and so on — and in this industry we have the option to move on without penalty. So, why not do that, until the right company shows up?
In fact, in the case of the second employer, that actually did happen, and I stayed specifically because I thought that management could fix the issues and that I could help them. Both of those things were true, and because I was helping us move in the "right" direction, I experienced a ton of professional growth, but then the culture shifted again (we were acquired) and the place simply became inhospitable. I was part of the initial exodus of engineers who left. I've heard from colleagues who have remained that ~50% of engineering has turned over in the last year.
I suspect that I will have some short tenures (1-2 years max) on my resume now, as I try to navigate my way through to another long tenure employer.
On the other hand, if you just want something done in a short term frame, might not be a bad deal. Don't pay "senior" salary or put them on strategic longer term projects, they are a very experienced junior engineer.
2 years is often enough to see whether design/approach has failed and what were the implications.
Unless you're doing very specific things like programming language design, operating system design, then why would you need e.g half of decade to figure out what went wrong?
So, whether X years is enough is dependent on what are you doing.
SpaceX? probably it isn't enough,
web dev? probably it is.
The rate asymptotes but there's still significant benefit for a tenure of 3 - 5 years.
Disagree. Coming into a new company and seeing the results of decisions that were made before you started can be quite informative.
Think about it from the owners’ POV: healthy turnover gives you a constant stress test for the system that is your business. You need systems that are able to hire, ramp up, and train people.
Sure, you need a few key people that keep lots of detail and skill in their heads, but relying on that at scale is no way to run a business.
Also, let’s tear down our manufacturing plant and rebuild it from scratch every 2 years just to make sure we can.
This doesn't make sense, new jobs don't reset your level. There's a difference between the responsibilities you get in your first year as a junior and the first year at a new company as an experienced hire.
I have rather seen the opposite. Each time I have switched companies I've always gotten big pay rise. If I wouldn't I would still be earning like half of what I make today.
The issue is that companies rewards moving every 2 years and as long as that is the case, that is probably what I will do.