The fact that "job hopping" is usually used in the pejorative says a lot about the master / slave mentality that large (and small) companies have.
Why would anyone have loyalty to a company that has no loyalty in return. This is especially true in the US with employment at will. It's less true in some countries but is usually legally enforced as opposed to cultural.
My wife's career has been defined largely by strategic hops. Her reputation has been built up by doing good work -- her title and salary are almost entirely due to moving around when it was advantageous.
A lot of companies are reluctant to promote internally due to office politics. In my wife's industry, it's nearly impossible to go from XXX to YYY at the same company. So, she joined a much smaller company that could only offer title advancement. Six months later she was back at a major player, with title YYY and the salary to match.
(The CEO of that company called her a job hopper.)
She did the same thing hopping out of the industry to take over a company as ZZZ. Now's she back in as an AAA, one position away from running the company (a top company in her industry).
Her industry needs more YYY and AAA, but won't promote to create them. Catch-22 they only want to hire people who already have those titles. So, your choice is either grind with little or no real advancement or use companies and their current situation to your advantage.
This is necessary and isn't just about your personal gain. My wife's career has helped a lot of her younger colleagues navigate their own.
I agree with what you've written, but I will say that as someone who's hired lots of folks, the time spent at each "hop" matters.
That is, I want people who have dealt with a reasonable lifespan of a product and been responsible for multiple stages of growth. Thus, if you've had 5 different jobs in the past 5 years I would look at that as a real negative (one reason being that given how difficult hiring is I want to invest in someone who is going to stay longer than 6 months or a year). However, if you spent an average of at least maybe 2-3 years at different companies (and perhaps a much shorter term stint at one company for whatever reason), I wouldn't look at that negatively at all.
That implies that all jobs and work places are more or less equal, and in my experience they very much are not. I've had about 7 different tech employers in my career. Of those experiences 3 were pretty terrible and one started out pretty good but devolved into being borderline terrible near the end. Of the truly terrible experiences, only two of them had enough red flags before taking the job to make it obvious that they would be terrible, but at the time I was much less experienced and didn't see those flags at all.
There are plenty of folks out there who are even less lucky than I was. Folks who were lured into a shitty job early in their career before they had the experience to know better. Folks who just got unlucky and ended up working at places that seemed fine from the outside but were hell holes on the inside, or turned into hell holes due to mismanagement or reorgs or culture shift or what-have-you. Those people shouldn't be punished for making the rational choice to go somewhere else.
Additionally, people don't usually work just for a specific company, they work on a team as part of an org within a company. And sometimes changes in a company mean that teams get changed or eliminated. That can happen for a lot of reasons independent of the quality of the work of the team, but when it does it can often put people in a tough spot, in the best case they will have to go on a job hunt internally, but often times (especially in hot tech markets like SV) if one is doing that it makes sense to also cast a net outside the company as well.
Asking people to spend 2-3 years at a company without any knowledge of what the conditions were like there or the reasons for someone to switch jobs is pretty silly. In fact it could be an indication of a lower quality employee. When conditions go south the people who have the highest intrinsic motivation to do good work and the people with the best skillsets are precisely the ones who are more motivated to leave and can more easily find a new job. People who just cash paychecks and have mediocre skills are going to hang on to whatever job they have for as long as they can.
Additionally, if a company is worrying excessively about holding on to employees, worried that they might be "too flighty" or what-have-you, that is kind of a red flag for me. If they don't have the confidence that they can convince someone to stick around then maybe they are expressing a subconscious judgment of the poor working conditions (or lack luster compensation) there.
Ok, so a handful of short stints could be because of toxic environments. But say you classified all 7 of your previous tech employers as toxic; at some point the only common factor left is you. No company can guarantee zero employee churn - some people are just the type to bail after a few months regardless of what the employer does to hold on to them. It's only logical for a hiring manager to try and identify and avoid those people.
This is bad statistics. If your only evaluation of an employee is their resume or work history then you've already failed, regardless of what it is. You need to personally evaluate their work history. If you have knowledge of the work environments at different places then that might help you evaluate whether someone is truthful about their reasons for having short stints. If you don't then you'll have to use your judgment of their technical skill, interpersonal skills, etc. (all the stuff you get from the in person interview) to make that determination.
Ultimately, the resume is a very weak form of recommendation for or against any particular individual, in my opinion. I've seen people with very strong resumes who couldn't code their way out of a paper bag. I've seen people with patchy or "weird" resumes, no CS degree, sometimes no college degree whatsoever who were top tier developers worth their weight in gold. Your screening and interview process needs to be good enough to be able to provide a reasonably trustworthy result even without a resume, if it's not then it's a failure. If it is, then it's comparably easy to make a decision on someone with lots of short stints.
Also, I find this whole discussion a bit odd in a couple ways. For a lot of big companies (like Amazon and Google) the average tenure is only about 1 year, and people here are drawing attention to 1 year as some sort of red flag duration, when in reality it's super common for a lot of devs at a lot of companies. Another is that I don't see people being concerned about overly long periods of employment at the same place. To me that's potentially a red flag too because it might indicate someone doesn't have the sort of job prospects necessary to get hired elsewhere. Though, again, you do need to always rely first and foremost on the in person interview.
Someone's resume might raise questions but it's unprofessional to fill those questions in with prejudices, you need to answer those questions with data from phone screens, homework assignments, in person interviews, etc.
lol, reminds me of a twitter thread. A guy said "As a hiring manager, job hopping is a red flag" . Then someone else posted that guy's LinkedIn page, which was a succession of short stings.
Thus, if you've had 5 different jobs in the past 5 years I would look at that as a real negative
Why? Because the only way to for a working professional to accumulate a "reasonable lifespan" of product knowledge is to anchor themselves to one company? That seems incredibly short-sighted thinking given the changing dynamics of the workplace from remote workers to an increasingly freelance economy where people can work for disparate organizations and still accumulate knowledge, skills and capabilities that you might still find valuable if you weren't looking at arbitrary numbers like how long a person has spent with the same company name in their email signature.
Is it a good way? Sure.
Is it the only worthwhile and relevant way? Mmmmmprobably not.
Maybe you've lost me, and I misunderstand your post.
Initially I replied thinking you were talking about getting training in a specific set of tasks or platform, you mentioned "Product X".
But it seems, now you're talking about training a worker "to productivity", which is a bit more oblique and not as specific of a regimen against what you initially posited-on this I have somewhat of an easier time giving you the concession.
Let me just ask, before going further: which position are you taking? Training an employee to use a specific tools set that we've established isn't widely used, or training an employee to be most effective and productive day to day?
Imagine you need senior embedded programmers with QNX and safety-critical systems experience, or someone with strong skills at understanding poorly-documented code in a software-defined radio system designed by consultants.
You're in a smaller city, and when you run job adverts, you only get a handful of applicants who can code and they're mostly Javascript+Windows guys (that's what the other big employers in town use).
So you'll have to train them on new languages, new problems, new conventions, new tools, new platforms, new build systems, new ways of debugging, new quality standards, and so on.
Initially they'll need to spend a bunch of time developing those skills - which means they need the attentions of your existing team members - and their early code will reflect their inexperience. I know my early code did! It won't be until they've spent quite a while working on the new system that their productive contributions will outweigh the sunk costs of their training.
> ou're in a smaller city, and when you run job adverts, you only get a handful of applicants who can code and they're mostly Javascript+Windows guys (that's what the other big employers in town use).
> So you'll have to train them on new languages, new problems, new conventions, new tools, new platforms, new build systems, new ways of debugging, new quality standards, and so on.
I would scour the country for embedded engineers of any stripe before I would hire JavaScript or Windows devs for an embedded role. Hell, I would even hire freshly-minted EEs for that role before I would hire those experienced engineers.
I don't see any of these training challenges being any different hiring someone who job hops, these sound like very common things a team would likely encounter onboarding just about any contributor...and I think we're drifting off course from the main conceit of this whole discussion no?
The challenge is if employees aren't productive in the first 0.5 years, an employee who stays for 3 years produces 2.5 years of productivity, whereas an employee who stays for 1 year only produces 0.5 years of productivity - a much lower return on the same investment in hiring and training.
Maybe you should start paying people what they are worth? Those annual job hoppers do so because a year later someone is offering a 20% raise and you offered a 3% bump and an "atta boy". Companies are trying to control wage inflation by refusing to pay market rate to their current employees.
For the record the average tenure in the Bay for a software engineer is 2 years. So your "at least" is the average.
It’s so strange, you’d think the cost of recruiting, hiring, and ramping up a new employee would be much more than just bringing your existing productive employee up to market rate, yet few employers seem willing to do this.
I left my previous employer on very good terms and on the way out made it clear that I liked working there and all it would have taken to retain me was to adjust my comp up to market rate. They looked at me as if I just escaped the lunatic asylum.
> It’s so strange, you’d think the cost of recruiting, hiring, and ramping up a new employee would be much more than just bringing your existing productive employee up to market rate, yet few employers seem willing to do this.
Not strange at all. The company is willing to sacrifice employees to send the message that people are replaceable and will be let go if they demand salary raises.
It's a way to keep salaries from growing.
> They looked at me as if I just escaped the lunatic asylum.
Good old gaslighting. You get the same look from managers even in high turnover company.
I think a lot of companies think of themselves as the better side of a tradeoff between QoL and compensation. "Sure, you could make more money elsewhere, good luck with that!"
Makes sense when you think about it from a business perspective. Some people like running lifestyle businesses. These businesses won't make anyone rich, but one can carve out an economic niche regardless. That niche is predicated on being willing to accept less comp than the broader market pays.
My last job was just such a compromise, and, I gotta tell you, if they had listened to me when architecting their new ecomm platform, I'd still be working there, not moved on for $20k more comp.
Corporate feudalisms are actually really nice when you're living in the castle, not working the fields.
Sometimes I think it would be worth it to just quit and re-interview for your current job every year as an outside candidate--you'd end up ahead of just staying there.
From my experience, one of the causes of this issue is that in some companies, the people who are in charge of the money (upper/top management) are rarely also people with software engineering backgrounds. These people are often unable or unwilling to fully grasp the concept of "ramping up a new employee" in the context of software development. The fact that any large codebase will take a smart person 3-6 months to acclimate to and become productive. The fact that other people on the programming team have to help these new people (and therefore lose productivity themselves). The fact that the new person is going to produce more errors and the number of defects in the product will temporarily increase.
If you look into the history of a company (e.g. by looking at how many users in the issue tracker are no longer in the company etc.), it's usually quite obvious when there's a systemic problem - the employee turnover is high. The management is interested in saving money by looking at the market and trying to hire at or just below the average compensation levels. In their eyes, it's cheaper to bring a new employee to the team (and there's always some fresh meat on the shelves of the job market) than to pay the current (experienced) employee more. And in the short term, they're probably right. But in the medium to long term, this approach tends to have a cumulative effect resulting in high employee churn rate.
The problem? Software development is not fast food industry. You can't have high employee churn rates without it manifesting somewhere. But pointing out exactly where and how is not easy (linking causation and effect in a discipline involving multiple people across multiple years is not trivial), especially when you need to link it to the bottom line (the market state and marketing efficiency will mess with your analysis... not that you typically even have access to the financials as a run-of-the-mill employee) and even if you do, there is no reason to expect that you would be able to effectively bring these findings to the management (such work would probably be seen as you overstepping the bounds) or that the management would change the processes responsible (that would be expensive). It's an uphill battle. When you are in a company with high employee turnover, there's typically not much you can do other than to start looking elsewhere. These types of companies will have problems (lower level of respect/loyalty, higher level of product defects, lower productivity, higher technical debt), it's best to leave them as soon as the opportunity presents itself.
People who hire contractors are usually not developers. I've had my fair bit of working with contractors, let's just say that if you get them to work in domain logic without very strict oversight, you are going to have a bad time. Tooling, purely technical matters - that's more like something you can give them to work on.
I try to impress upon younger workers that in the vast majority of cases, employees owe their managers nothing. Too many young employees get trapped into thinking, "yeah, the company is uncaring, but my boss is awesome". They don't have the life experience to inform them that no matter how awesome their boss is, it is extremely unlikely they have no external pressures to trim staff whatsoever.
The rare cases are those bosses who own the company outright, and make it plainly obvious with how they compensate and treat employees over time (2-3 years of consistent, first-hand observed behavior) that they plan retention over the long term. Or you're part of a worker co-operative or similar stability-promoting arrangement. Okay, then I'll grant you that you might afford the luxury of developing a less self-interested, short-termism strategy. It's not all sunshine and roses on that side of the fence, either; plenty of criticism from market fundies that such arrangements are only possible in sclerotic, uninnovative, inefficient, dullard organizations (I happen to disagree with the fundies on this point, but that's a discussion for another time).
Question. I started working with a startup right after my Masters when it barely had about 10-12 employees. I got some stock when I started. This was my first start up and so I don't know if what I got was a fair deal (if not a good one).
Now, its been about 4 years since and the company has grown to be about 60-70 employees and I am yet to get a raise, the company still doesn't match 401k etc. I hope the stock pays off eventually, if the company does well, but I am not sure if or when or how good that will be. Reading articles like this or articles that mention salaries that people are offered in other companies, I am beginning to think if "job hop" is probably the way I should go, even though the work environment is fairly good and I have enjoyed my time here.
Get another job first, but yes, market rates go up much faster than 0%. You wouldn't cut an annual check to your boss for $10k just to be a team player. With compound interest, etc., four years of no raises looks like five figures, easy. And that assumes you haven't gotten valuable experience and developed marketable skills in the meantime.
Did you get stock or did you get options? Stock seems very odd to me for a 10-12 person startup. Also, I'm assuming you got a refresher on the equity at some point (otherwise you're no longer vesting after 4 years)? No raises for 4 years is simply unacceptable, regardless. You're losing money at this point. I haven't gone a single year without a substantial raise since I started working.
Options. I am one month away from completing 4 years and vesting completes then too. I did not get any refresher on equity.
As far as I know, there was a round of raises/appraisals and end of year 3 but I was left out. I was on a F1 (student) visa when I started with this company and I was unlucky enough that I didn't get H1B visa until my 3rd attempt (lost the first 2 attempts in the lottery), I am guessing here, but I think I didn't get any raise/equity because they knew I couldn't afford to leave back then with my H1B processing still going on.
The slavery of foreign workers looking to employers to sponsor them on their path to citizenship. We have a similar program in Canada, and it's really sad to see talented people stuck at dead end jobs making crap money, all because their employer is their visa sponsor. It's even worse in the lower wage sectors with temporary foreign workers.
In East Asian economies, it's perfectly acceptable but I'd argue that they care of their employees much better but obviously not without strings attached-productivity is low due to insane working hours.
For instance, my cousin works at Samsung and although he is pretty much a highly paid slave, he is better off than most Koreans...
I don't know if it's right to act entitled. After all, we are receiving money in exchange for our time. If one is not happy with it, then wayne gretzky it.
Part of this comes down to the expense needed to find and train employees. The structure is set up to resent this expense and the probability of the expense.
The incentives guide behavior. I'm not offering a solution, just the observation.
Why would anyone have loyalty to a company that has no loyalty in return. This is especially true in the US with employment at will. It's less true in some countries but is usually legally enforced as opposed to cultural.
My wife's career has been defined largely by strategic hops. Her reputation has been built up by doing good work -- her title and salary are almost entirely due to moving around when it was advantageous.
A lot of companies are reluctant to promote internally due to office politics. In my wife's industry, it's nearly impossible to go from XXX to YYY at the same company. So, she joined a much smaller company that could only offer title advancement. Six months later she was back at a major player, with title YYY and the salary to match.
(The CEO of that company called her a job hopper.)
She did the same thing hopping out of the industry to take over a company as ZZZ. Now's she back in as an AAA, one position away from running the company (a top company in her industry).
Her industry needs more YYY and AAA, but won't promote to create them. Catch-22 they only want to hire people who already have those titles. So, your choice is either grind with little or no real advancement or use companies and their current situation to your advantage.
This is necessary and isn't just about your personal gain. My wife's career has helped a lot of her younger colleagues navigate their own.
Employees owe companies nothing. Act accordingly.