A point another commenter brought up is you never head a company say the following:
"The market is competitive and your market rate has increased, so here's a raise (of more than 2-3%)"
This leads to job hopping as well in order to get pay increases. The reason why it's especially present in applicants that recently graduated from college or a bootcamp is that their inexperience is often taken advantage of and are underpaid for lack of experience that they will likely gain in the first few months.
Obviously it's not good for the bottom line to raise pay for the same work. But trying to avoid that is short-sighted, and leads to the much greater eventual expense of turnover.
As an employee, if market comp for your work has risen substantially what your current employer pays you, then it is only rational for you to change to an employer who will. Once you find a job that will pay your market rate, the employer may try to match, but as we all know - at that point it's a bad idea to stay.
So the problem isn't "damn immature millennial job hopping", but that many employers aren't efficient at keeping up with market rates in a boom economy, and their retention rates therefore suffer. They're effectively penalizing employees who stick around and reward job hoppers.
Everyone expects layoffs and pay freezes (or even pay drops) on recessions. Why aren't the pay raises in boom times commensurate?
Blaming the "job hoppers" will not help.
Why would you expect those? This is capitalism. Profit-making entities operate like a ratchet. They'll forward their losses to employees during recessions, but they'll pocket the gains internally during booms. Sure, redirecting some of the extra profits towards employee retention is a sound strategy, but I fear costs of turnover escape financial models in most businesses.
That has absolutely happened to me at the company I'm with. And yes, the proactive stance of eng management around keeping up with the market is one of the factors that's kept me happy there for over 4 years now.
I've also seem this sort of market matching stuff at my BigCorp in the Midwest, I've been at my company 10+ years now, and would need to take a paycut to leave basically anywhere close to local.
The point stands, but this actually happened at Microsoft in the late '90s when the dot bombs were in full swing, and anyone that could spell "HTML" was making bank. In combination with my annual review raise and the market bump, I got a 35% raise that year. Step 2 of that process is "try not to be bitter about how much you were underpaid", but 90s MSFT stock options helped ease that sting a little.
So my last full-time (i.e. non-contractor status) job was for a startup that nearly failed. I was let go in the final round of layoffs, and I was only there for 9 months. I feel that a resume isn't really a good place to say "Oh yeah, my time here was short because I got laid off due to downsizing". Apart from actually talking to you about the situation, how can I explain myself?
Also, how would you feel about a resume where someone has had multiple 6-9 month jobs, but they were there as a contractor?
Tech firms below the top do relatively little investing TBH. Things you pay to bring anyone on board are not really investments.
But also, it's possible they have no kids/dependents and are playing as a free agent. That doesn't mean they'll be able to deliver value for someone out there, and they likely had no way of knowing you were looking for longer term candidates before applying.
However, companies expect and want loyalty from their employees and offer next to nothing in terms of retention. If companies wish to get a better ROI on their hiring decisions they need to begin offering market-competitive raises. A 5% CoL adjustment is borderline insulting. Why would an employee choose to stay when all it takes is a few interviews to make a 15-20% pay jump?
I can't imagine that having to hire a new bunch of people every few months to replace the job-hoppers is a better investment than offering a realistic raise.
You really don't want bored people on your team long term. Often technical debt goes unrealized for years, which a bored programmer is likely to produce more of. A dedicated hiring manager is not going to be paying off technical debt directly.
Most commercial programming work is boring. But that’s because most work full stop is. There are things that aren’t fun but need to be done anyway. That’s why it’s called “work” and you are paid a salary for it. You could be sweeping the streets or mining coal or packing meat. Most programmers don’t realise how lucky we are that there is even a fraction of our work that is actually so fun we’d almost do it for free...
During your first 5 years or so you'll probably get good raises as you gain experience and increase the value you provide to the organization. Past that, unless you're top 5% and negotiate well, you'll probably stagnate a bit in the pay department (stagnate at a very good wage, that is). In my experience, at least..
I get stagnating in pay raises after 2-3 years and receiving decent increases up to that point, but how can a company complain about retaining talent when they don't offer anything past the 5% in the first place?
It just seems strange to me that companies want the option to fire off employees at will, but also hate seeing employees take advantage of that ('job hop').
Maybe a 2 year contract with built in raise structure (assuming improvement based on pre-defined metrics) would be a better solution than at will employment.
Whatever the solution may be, it doesn't seem like many people are satisfied with the current system. Especially from a hiring management perspective.
The 6th is where I'm currently at, and it's another job where they were doing really well, got purchased by a large corporation, and then the corporation started slashing and burning to save money. I've somehow survived here for 3 years, survived multiple layoffs, and we're down to just a handful of developers (and losing our office here in a few weeks, yay), and part of the reason why I've stayed is I know the last 5 jobs look bad to people who look at resumes, even though I was laid off or terminated from each one after the company or department fell apart, and I apparently just keep picking companies just before they fall on tough times. Meanwhile I've had to endure them getting rid of bonuses, freezes on raises, multiple reductions in benefits, etc. at this current job as I wait for a good time to jump ship for greener pastures.
Just so I have one stable looking job on my resume.
It can be difficult sometimes to stay with companies even when you try to. I have a bad habit of wanting to stay until a project is completed and out the door, but that's also when they're most likely to make layoffs.
The bigger question in my mind is why you got into so many situations with failing startups- were they doomed to fail and you just didn't have the business sense to see that? In either case, it sounds like you are still only a few years out from graduating, you get a lot of slack for inexperience in my eyes.
Of course I can't speak for everyone, some guy that has been at MegaCorp for 17 years since he stepped out of school may not be as kind, but you probably don't want to work for him anyway.
Regardless though, your latest tenure is 3 years. The trend is in the right direction. If your current situation is bad, now is almost certainly the right time to make a jump- I can tell you first hand, the quality of people we are seeing right now is substandard, if you know what you are doing, you will stand out. This is a great time to be picky not only about the role you accept, but the company as well- an established business that you know will be around in 3-5 years and hopefully thriving is particularly important. Also consider that we are definitely at the top of an economic cycle, the next recession is on the horizon and the weaker companies will feel the pain.
Yeah, things might get better here. It does look like their 5 year plan is going more or less in the right direction. But am I willing to wait 5 years with stagnate or no growth (in addition to the three years of no growth I've already endured) with a company that's proven multiple times it's unwilling to loosen its purse strings for just about any reason? I don't think it's worth it, and many other employees didn't either.
I'm mainly only still here because I keep having things happen in my personal life that makes it inconvenient to change jobs at that point (For example I recently bought a house. Mortgage lenders tell you not to quit your job until the closing date for that). And the one benefit of losing the office is we get to work 100% remotely, so I'll do that for a bit while figuring out what I want to do next.
> The bigger question in my mind is why you got into so many situations with failing startups- were they doomed to fail and you just didn't have the business sense to see that?
I think you answered that yourself in the prior paragraph. Joining a company is like rolling the dice. As an employee, you generally have no idea which ones will succeed and which ones will fail. You pick a horse and hitch to it. I look back to my friends in undergrad. We were about as smart and hard working as each other, but comparatively where we are in our careers today seems largely based on how lucky we got in picking which companies to work for.
In my experience, companies with a ton of job hoppers have better engineers too. The people that hop a lot tend to be more outgoing and amenable to taking risks.
Job hopping is only lucrative because companies take advantage of inexperienced devs and never give raises.
Obivously, you hit dimishing returns over time, but job hopping early career has boosted my lifetime income significantly
In my experience front-end is an extremely weird field: "classical techies" consider it stupid, management is addicted to it and the field is very fast paced. Also I find it quite unthankful.
The companies could do a lot to make it more attractive to developers. Having worked for 3-4 years a lot of front-end stuff, one job was indeed only 3 months and cut-throat toxic, I don't want to do it ever again. Even though I'm really good at it.
And my opinion gets confirmed continuously, at our company for instance most pressure is on the front-enders. Why? Because that's the only thing management understands or at least they think they do. On the other hand once you touched front-end it's very tough to get more technical tasks.
And that was a large product. It would happen much more often, if they'd follow agile.
Because I'm looking for a place that actually believes in earning the loyalty of employees and investing in their satisfaction. An employer who looks for the upside before investing transactionally has already gone badly wrong.
I've been working in front-end development for the last decade, half of that freelance. I took my first full-time job in 2014. It was a contract-to-hire setup with an agency in DC. After working on contract for 4 months, they gave me an offer of $30k... For Washington DC. Needless to say, I politely declined, but that meant moving back to my home state in KY where tech jobs aren't a dime a dozen. After a 3 month gap, I landed a job with an agency that specialized in building and maintaining hospital and healthcare network websites. I was required to move to a nearby city for it, in Louisville KY. - The job lasted barely 6 months before the company closed the satellite office. I was told I could move across the country, or I would be let go. Because of my work history, I couldn't draw unemployment and my savings were pretty slim after the past year of running around all over the place. I took the first job I could land, at an autodesk reseller company. Three months after starting, there was a reorganization with my direct manager getting the boot, and someone with a "fine arts degree" replacing her... My new manager had no experience managing teams, no web experience at all, and she was running the entire marketing department. Needless to say, after a total of a year there the entire marketing department (5 people at that point), was shuttered. The CEO/HR tried to squirm out of it by firing everyone for "lack of performance", but thankfully most of us had proof that our jobs far exceeded the descriptions we signed up for and expectations were absolutely unreachable. I drew unemployment for the FULL 6 months following that, casually and carefully looking for my next job. I landed a role as a front-end designer at an elearning company and as of now I've been here a little over a year. That said, 6 months ago we went through a reorganization and more than a dozen of the staff were let go (out of 100 or so).
Moral of the story is, sometimes saying "I'm looking for exciting new projects and to learn new things!" sounds a hell of a lot better on a resume when compared to "my last company reorganized and no longer needed me, the one before that shuttered their marketing department, the one before that closed their local office entirely, and the one before that couldn't afford to offer a living wage in one of the most densely populated US cities..."
A few notes:
> "I'm looking for exciting new projects and to learn new things!"
Because literally everyone says this, this is a meaningless sentence. After all, no one is saying, "I want to be a maintenance programmer." Demonstrated desire to learn new things is what sets apart the doers from the talkers.
> Instead of judging based on the time spent at places, ask why they're bored and what they would enjoy working on.
I do, of course. I could write 1000 words on this topic but it's late and so I will just say that every developer wants to work on these projects, there are never enough openings on them to go around, and someone needs to write the code that keeps the lights on. A wise developer would 1) initially work hard on their own time to gain the skills necessary to be given these kinds of tasks at work, and 2) propose interesting projects with a direct business relevance at their current company before looking for new jobs elsewhere.
> maintenance programmer." Demonstrated desire to learn
> new things is what sets apart the doers from the talkers.
Okay but having worked myself on 2 maintenance-legacy-everybody-hates-projects, I realize that there is no interest of anyone that the projects get progressed. Reason these projects got into that state are always political. Of project #1 I did a 80% rewrite in 4 weeks - the original took 3 years and ate hundred thousands - of course my rewrite had to be discontinued. In fact nobody officially was allowed to work on it, except that I had to. Nice, right?
This is an extreme case but I find it the norm rather than the exception. Everybody is afraid of new things. And no, many devs do not want to learn new stuff. Might be true that everybody says this but who cares. I mean when I put on my CV every technology I know, recruiters become suspicious and say that doesn't make sense.
Companies put time and effort into projects with greater future returns.
Rewriting your maintenance project does not just affect you. It requires other people: QA, systems engineers, etc. It carries risk that something breaks. It requires energy and focus, when it is essentially a distraction from future projects. There is a moneymaking machine in the basement that requires turning the crank once an hour to continue working. You are the person employed to turn the crank, not rebuild the device. Get it?
When I say propose new projects, I mean new projects that make the company money. Work within to change the landscape of your job. Learning how to do that is infinitely more valuable and rewarding than a $10k bump at another company.
What do you think about that?
I'm just observing from an ex-boyfriend of my kiddo (so no questions haha), but University of Cincinnati's engineering program alternates co-op and academics every semester. So you're looking at 6-8 work terms of 3 months each by the time you graduate. However, as far as I can tell most interns re-up to the same company. He's been at the same one since the beginning. It's a great program.
However, I expect professionals to stay at companies long enough to accomplish "interesting" things. A series of unrelated 3-4 month projects does not give me confidence, and indeed, sends a message about lack of focus and resolve.
I give a lot of weight to intellectual curiosity and self-directed initiative, as those are the clearest signals (along with empathy) of being a good engineer.
I talked to one guy recently who said, "The first four months at my current job were really interesting and I learned a lot, but these last two months I've been kind of bored. That's why I'm looking."
I don't hire them.
If it's one or two jobs on a resume full of longer tenures, that's one thing. But if it's every job you've had since you graduated from coding bootcamp two years ago (three jobs later, now looking for the fourth), why invest in that person? Why bother?
It's a vicious circle. In the short term you might earn more money from giant corporations who can absorb the churn and need a body on a project, but managers will calculate the ROI of investing in you as negative.