Ask HN: Is job hopping as bad as they say?
I'm 33 and since I started working I've went through 6 companies - the shortest tenure was an year, the others in the 1.5-2.5 years range. I'm at a stable place right now for about a year, leading a small team at a BigCo with nice colleagues and learning. Despite the fact that there's nothing wrong with this current place, friends talked to me about opportunities paying 50% more in teams led by amazing people and I'm tempted. I'm not even sure I'll apply, I just wanted to give some personal context and ask HN if:
- job hopping hurts long term career growth at management level and above
- it's better to find a good spot and stay there as long as possible given the incoming stagflation/high rates /recession scenario
Thank you!
44 comments
[ 3.2 ms ] story [ 109 ms ] threadHe still thinks that way, but the fact is that career strategy is dated, especially in technology. It's not uncommon for SWEs to change jobs every 2-3 years, and nobody will bat an eyelash or look down on such moves. In fact, most companies expect it nowadays. Oftentimes, the easiest way to get a significant increase in total comp is to get a new job instead of asking for a raise. That said, if you're happy where you are and you feel that you're being treated fairly, there's absolutely no reason to move on.
Who would YOU think is more valuable - someone who stayed in the same job for 10 years, made 4 or 5% wage increases every year, or someone that drastically increased their income every few years. So lets take 2 people who both start at making $60,000. One of them stays in the same job and gets a 4% increase per year will make and at the end of 10 years will be making $85,398 per year. Meanwhile, person 2 switches jobs every 2 years and has 5 jobs during those 10 years, but each one new job he or she makes a lot more money at the job hire. So he (or she) like the first person also starts at $60K and does that for 2 years, then gets another job for $80K, and another 2 years gets another job for $95K, and 2 years later gets $115K, and 2 years after that makes $125K. People get hired at one rate, but as soon as they are in the system, people are more or less locked into the 4% raise per year. No company will pay a current employee as much as they will a new hire. So anyways, which candidate is more interesting to the average hiring person? The one who keeps making more money every 2 years, and switching jobs. Why? Because, wow, that person must be really worth it and companies are fighting to hire a person who most likely is a top performer, so they think. Why would someone keep hiring him at higher and higher salary if he or she is not worth it? I'm not saying that this thinking is correct. I'm not saying that there are not companies out there who still look for people who want to stay a long time. But most companies will want to hire the person who changes jobs a lot, because there is a competition that develops. Also, throughout one's 20's, people really don't expect someone that age to settle down. Once one reaches 35-ish years old, they might expect a longer stay at a company.
But, ALWAYS go for more money, all things being equal.
The reason is pretty straightforward. If I, as a manager, see that you have a history of 1-2 year tenures, It's sensible for me to assume that that's what you'll do at my company too. The more senior the position, the longer term the work usually is. So, if you're making decisions for 5-10 years but are only going to be around for 2, what's the likelihood you'll be making good long term decisions rather than good (for your resume) short term decisions?
There are, of course, exceptions to this. If, say, you specialise in turning around failed departments then serial short tenures may well make perfect sense. But, in general, the shorter the expected tenure, the lower the expected benefit vs cost.
Of course, that's not to say that hiring someone who has 10 years at a previous company means that they'll stay forever. But, as a hiring manager, you're taking plenty of risks as it is. It's usually safer to hire someone with a few reasonably long tenures all things considered. And that's really the point. If the rest of your resume is outstanding for the role, then I may just accept that I have you for 2 years tops. But if it's on a par with the market then I have little incentive to hire you versus someone less risky.
Source, am reasonably senior manager at a large company and have hired a lot of people over the years.
- You can essentially have 1 year experience repeated n times.
- People with very long tenures can have a narrower view of what software development is. By switching more often you get to be exposed to different domains, teams, managers, ways of working and in a way you can mentally abstract over them instead of learning the process of 1 specific company. At some point you get "better at the company" instead of better at software development.
- Staying at a place for a long time doesn't mean that you get to make important long term decisions. Getting to make important decisions doesn't mean that you're good at it.
- In a competitive dynamic market some of the people who don't switch are people who can't switch because they just aren't that good. Obviously not true for everyone but that's the group you're sampling from. If you think of it as having a bucket of balls to pull from at random, the bucket with the people with short tenures will contain some people that are flaky, unreliable, get bored too easily, are difficult to work with and can't keep a job etc. And the bucket of people with long tenures will contain some people that aren't good enough to land a new job, or who are essentially institutionalized.
And I'm not even arguiing that shorter tenures are better - you could make some arguments either way - I just don't think that making hiring decisions based on tenure is a good idea either way.
If you can't stick around two years anywhere I'm prone to thinking you're someone who vomits a bunch of code and then leaves the team to pick up your mess. Or someone who can't provide critical feedback without sabotaging the relationship. Either is a no go for a senior position.
In another comment in this same thread you wrote:
> people tend to leave if they aren't getting promotions, growing responsibilities, etc.
So you already know that it's entirely possible that someone is doing great (doesn't vomit code that can't be maintained, doesn't ruin relationships) and still leaves a job after a year or two. So I don't get why you then assume the worst case when you see shorter tenures, that doesn't make sense to me.
If someone has 20 years of overall experience and only ever stayed at a company for one year, I will default to an orange flag and will have to ask lots of questions about that.
If someone has 20 years of experience and has only ever worked at one company, I will default to an orange flag and will have to ask lots of questions about it.
All of what you guys say can be true but doesn't have to be. The guy with only ~1 year tenures might have found awesome 20-50% salary increases by hopping around and made financially smart decisions to be able to have time work for him (compounding). He may also just be the dumb kid that's really not good at this and left a week before he would have been fired anyway each time. He switched to contracting at the end because "it raises less flags"
The guy with 20 years at one company might have only gotten promoted because he's at a company where long tenure gets you promoted but doesn't know much. A perpetual junior with 20 years of "experience". Or he lucked into an awesome company with a good internal promotion culture and long tenures overall, which also results in less opportunities to get promoted (you need someone to move on/away so that a spot frees up so to speak), got promoted every 3-4 years and is now at the end of what he can get to at that company and made the decision to leave.
Though I personally agree with your assessment.
Job hopping a few times is not a bad thing by itself but the reason why you’re doing so might be. In my case I didn’t want to hire a new manager only to repeat the process again in 6 months (their track record suggested they’d do it again). There’s also a _huge_ difference between having 8 years of experience and 8 first year experiences. As pointed out by GP the hard and complicated things/decisions come after a while in the job and you’ve onboarded and gotten context.
Some factors which help with job hopping resumes:
- Earlier in career
- Showing growth
- Demonstrates impact at each stop
- Unavoidable events (in my case my company was acquired, in a different case my project cancelled, etc)
At some point you should probably slow down though :)
If you're seriously considering it, just apply to a handful of companies, you'll soon find out.
If someone's stays in the same place for 10 years with no growth I'd love to analyse that gig.
Soft skills
- You do not get along well with your colleagues - You do not get promotions, more responsibilities, raises, or you leave in order to get them (this is actually pretty common and perfectly fine from your perspective as an IC but managers will see it differently) - You have not navigated a crisis or faced significant adversity at a company, so you are somewhat untested in this regard
Technical skills
- You have not worked on complex products at a high-enough level (it easily takes 2 years to gain expertise in a complex system and start contributing more than small features or bug fixes) - You have not stuck around to support the mistakes you have made, so you have no actual experience. The "experience" part of software development comes primarily from this. - You do not have a high-enough overview of product development and have not seen products go over a few cycles (even with cloud, software lifecycles are longer than 1-2 years and major iterations of products take a bit longer than that)
Managerial - You haven't convinced a manager that you are management material. Management is a different job from engineering and it takes more than a year, easily, to convince a manager that you can be a good manager yourself (unless you have followed a manager from one job to another) - If your companies are in different domains, you do not have enough domain expertise in any one area to leverage, and maybe you do not care about the domains you have worked in. You may not be suited to the line of work.
In today's climate 3-4 year stints might be OK early career. Or maybe just one year as the first job out of school - it's understandable if that wasn't a good fit. But a history of 1-2 year stints without some good reason? You're a hopper and I'd burn your resume. Hard pass.
- It takes time to become really productive at a new job. I'd estimate 6 months to a year. Why invest if you're just going to leave as soon as you're finally starting to be a net positive?
- I don't think software engineering is an assembly-line job. It's a craft and I don't appreciate companies or employees trying to make it a fungible manpower vs. compensation game. You're a code-monkey-for-hire, not an engineer. It's toxic to the other engineering professionals that would be subjected to you. If I wanted that, I'd just hire consultants.
- It shows a pattern of short-term vs. long-term thinking. That pattern will often represent itself in more than just job choices. For example, taking engineering short-cuts to meet a near-term goal at the expense of long-term quality. What do you care, you'll be gone before we realize the mess you made?
Yes. Seriously bad look. But wait! Perhaps all those things I just assumed aren't true of you! What I'd say is that this is just what it looks like and what many people will assume. You should proceed with awareness of that and perhaps try to mitigate it.
Sounds like you're a team lead/manager looking to move higher up into management in the future? If that's the case, pay is certainly important, all else being equal you take the higher paying job because typically in the higher paying job more is expected of you, but you need to look at how the new role is going to get you the experience that gets you into whatever management position you're hoping to grow into.
The wild card of course is the economy, in a recession it becomes a game of musical chairs. If things get bad you might end up back on the market real quick. Maybe the hiring managers today would compromise and hire someone with only short tenure positions because there aren't any other levers they can tweak and they either hire or lose the position. In a recession the hiring manager doesn't compromise, you do. Maybe we go into a recession, maybe one has already started, maybe it's all a false alarm.
There is no shortage of high paying companies that don’t care, but you will have trouble building those relationships if you reset once per year.
Naturally, their most recent jobs were all contracts and they didn't stick around after the contract expired. They expressed an interest in getting away from contracting, so we didn't really worry about it.
Still, it's super obvious when someone has a long history of not sticking around.
The OP's specific example doesn't sound bad. Honestly, I think 3 years is a typical tenure at most companies.
I have only known a few people (myself included) that stuck around a single company more than 2-3 years.
I have three rules in no particular order:
- I always let my manager know where I stand and when I decide to start looking for other options and if there is something that can be done about it or not;
- I never leave in the middle of a delivery cycle or when things are rough for the team;
- I'm always available for a reasonable period after I leave, in case I'm needed.
The last company I worked for, C-level position for almost three years (that started as a 6-month consultancy gig) I let them know almost 6 months in advance that I will be stopping working for awhile and that we should work together on a strategy. They did business as usual for half a year, having secret meetings to hire a replacement (even though I offered to participate) and ultimately failed.
Then they asked me to help them for 2 more months, and because it was a sabbatical break, I agreed to help. They ended up not paying me for those 2 months, basically blamed me for a bunch of unrelated stuff and then cut all contact (I feel this was all rather unnecessary). They later contacted me to help them, I did as it was an urgent problem and it took a short amount of time, then they just stopped saying anything again, but I'd help them again if they had an emergency and it wouldn't tax me.
Why the long story? Well, I think those 'rules' are worth sticking to even if the other party turns out to be complete garbage and I think it's more important for you to reconcile with your 'job hopping' than to worry about what others might be thinking about it.
The only limit you'll experience from job hopping is that you'll essentially be stuck in an individual contributor (IC) role if you don't stay in anyone place past 2 years, although even that isn't always true. BTW, IC here means any type of role where you're mostly limited to project work and not strategy work (team leadership, technical leadership etc.) Generally the split is senior/staff vs principal type levels, or manager type levels.
The reason this is the case is because to have org-wide impact and get promoted you usually need a few years, have seen through a few big projects, and have built a reputation at one place. This is especially true of large organizations, maybe less so of smaller sub 500 person companies.
But if you want to hop every 2-3 years, especially in software, go for it, especially if you have no ambition for leadership or feel that you're stagnating where you are. You'll keep your IC level salary at market rate which is always going to be much higher than whatever your company is paying you.
Granted, there will be some managers who don't want to hire you because you're a "job hopper" but in my experience, these managers are not good managers and not people you want to work with.
I'd say the minimum at one place is essentially 2 years, although the conceptual minimum is seeing through work at your level end-to-end (e.g. finishing a big project). The reason I'd stick to 2 years though is because most people don't believe that anything can be achieved in less than 2 years.
Note, this advice likely doesn't apply in a bad job market. The reason that's the case is because bad job markets actually tend to allow people who are entirely unqualified to become hiring managers at their companies at a much higher rate than good job markets. That's usually the case because when companies start cutting costs they might fire a bunch of people, including middle management, and assign the responsibilities to cheaper people. There's a reason those people are cheaper.
Anyway, these people then become hiring managers and many of them hold the "job hopper" stigma. Again, bad managers.
What is 10 million jobs minus 9 million jobs that are reluctant to hire you due to a history of job hopping?
Either way, you need a good story: if you're just looking for better money or newer tech, you look opportunistic. If you have a plan that builds to something based on tech and domain, you look serious.
The story is most important for you. It's what you tell yourself to justify and orient yourself in your working life, to give you the patience to wade through crap and the vision to go in one direction.
So if you're tempted by opportunity, it's likely you have a weak story -- which means you're reduced to being useful to others. (Which can be fine.)
The best stories create value: bringing electric power to transportation, making a corner of biomedical research possible. If you commit to these stories, you might find a community of like-minded people, whom you can trust with your work-life.
And who won't leave at the next opportunity.
Whether hiring managers will actually hold it against you is another matter entirely. My observation, of my own behavior as a hiring manager and of others nearby, is that job hopping may be raised as a minor red flag, but will rarely land your resume in the trash unless it combines with other obvious deficiencies. If you just want more money, go chase it, I don't think it will be an issue.
There are 2 different career paths, both valid, both with their pros and cons.
With short-term positions you will be "hired gun", where they hire you to contribute on a particular project and will likely view you as expendable when budgets are cut or shifted to other priorities. This is not necessarily bad though, if you keep getting good references companies will continue to hire you knowing that you will deliver. Plus getting a raise is way easier when moving from company to company vs getting 1.5% annual raise. Plus prospective employers know that you've been to number of companies and can provide outsider's prospective on a number of subjects.
Whereas when you stay employed at the same company you learn all the nooks and crannies and will likely be either promoted to management position (if you wish to do so so) or get other benefits (longer vacation, higher bonus, more freedom in determining your schedule, projects, who you work with, etc etc). At the same time, if the employer does decide to lay you off, finding another job will be difficult since you don't have much experience in job hunting, and much of your experience is with the same company (not necessarily applicable to other companies).
So at some point in your career you will have to choose a path and stick to it.