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.
He 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.
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.
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.
What is 10 million jobs minus 9 million jobs that are reluctant to hire you due to a history of job hopping?
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.
If you're seriously considering it, just apply to a handful of companies, you'll soon find out.
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.
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.
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.
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.
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 :)
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.
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.
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.