I saw an interesting tweet over the weekend in response to a founder and hiring manager of a tech analytics company saying that if a candidate has a history of 12-18 month stints they aren't a fit for his company. Sarah responded with this tweet, which as of today has 282 retweets and a lot of comments-
I've had 5 jobs in 5 years since becoming a dev. In the process, I've tripled the salary I got starting out and escaped a place I wasn't learning, a place I was being treated like shit, and the city of Boston. Yeah I'm just going to say no to this take https://twitter.com/Shpigford/status/994583740943929346 … -@meyerini
It's an interesting topic without a clear right or wrong answer. I'm not trying to be the moral authority on switching jobs, and this is my personal opinions that likely not even everyone at Code agrees with, which is completely fine. There's nothing inherently wrong with job hopping (let's call job hopping not having a job of 18+ months in the last five years).
To give a real quick background, Code Talent is a 10 person staffing company in Denver that works primarily with Colorado based companies. The companies we work with (Clients) pay the bills, but we spend much more time and resources working with software engineers, designers, managers, ops folks, etc. including hosting 10+ tech meetups at our office each month. So we see both sides of the fence on this topic. We do work with contractors, but Direct Hire placements is roughly 2/3 of our business. Job hopping really only applies to Direct Hire employees since contractors are designed in part to switch projects routinely.
There are good plenty of reasons to leave a job in a short amount of time. A month or two ago I talked to someone in a really bad situation who was worried about leaving a job after less than a year due to concern about looking like a job hopper. Don't be concerned about that! If you are in a bad situation get out of there as soon as you reasonably can. Life is too short and work is too big a part of it to deal with being put down, not being appreciated, not learning new skills or working on interesting stuff, etc.
On Twitter someone made an interesting comparison to divorce - Divorce rates aren't necessarily up just because people today give up more easily or don't work it on as much as people 50 years ago, but it's easier to leave a bad situation now, which is a good thing. Jobs are the same way - the internet and general networking has changed the ease of switching jobs, so it's much more feasible to leave a bad situation now than in the past. The economy is different these days - my Uncle Jerry worked for 45 years at the same company and that was his entire career. Even Uncle Jerry would be switching jobs if he was my age. Working for a very long time (10+ years) at one company can even be seen in a bad light. Some will question how much have you really grown if you've been working on the same stuff for more than a decade?
The other important reason to change jobs is it is the best way to be paid your market value. Especially for junior engineers, the market value of your services can go up by 50% over 3 years. Almost no matter how good a company is about giving raises they won't be paying you what you can get on the open market. The reality is that most of the time changing jobs is the only way to be paid what the market bears.
The flip side of all of this is what companies see. If you have a history of changing jobs every 12 months, it's fair for a company to expect you will not stay with them any longer than your track record has shown. In turn, that makes a job hopper less valuable to them. It takes time to get up to speed on their technology and to build rapport with colleagues so ideally (if they are hiring an employee rather than contractor) they want hires to work there for ~3 years. The best way to predict if this will happen is by seeing what the trend is based on career history.
Of course a large part of getting people to stick around is on the company. If they don't have a culture of making employees feel valued and letting them work on interesting projects that provide room for growth and learning then a company shouldn't expect you to stay there for 2+ years. It also is very possible to have 5 of the 'bad' situations in a row. Good companies shouldn't rule someone out based simply on career history, but it's reasonable area to dig into and see why nothing has worked out for 2+ years.
The bottom line is (again, just my opinion) to leave a bad situation once you realize it can't be turned into a workable position. If it's a good position, it is probably good to stay there at least two years even if it means you are a bit underpaid the second, third or fourth year at the company. If your career history isn't what a company you are talking to is ideally looking for, be prepared with a good explanation as to why. It is a red flag, but hopefully not a show stopper as bad things do happen to good people, even up to 5 times in a row. The best way to avoid this happening at all is to do your due diligence and homework on a company before accepting a job there. Denver is a connected enough community that you probably know someone who knows someone at the organization you are interviewing with. Getting a general feel for what current or past employees think is a great way to maximize the chances of going to a place you want to work at for at least several years.
I'm sure that not everyone agrees with all of this, and I'd love to hear other perspectives. My email is firstname.lastname@example.org. Thanks for reading, and I hope it was interesting and/or useful enough to be worth your time!