Job-hopping increases, in possible boon to wage growth and productivity
wsj.com
wsj.com
So, every so often, we get a few applicants from there.
Some of them are good, and we offer them a job; only to find out that they're not interested anymore. Usually something along the lines of "thanks for the offer, but I've been given bigger and better responsibilities and I'm not looking at leaving anymore", or "I've been assigned to a more exciting project, I will see how it goes", or "I've had a new position offered within the company so I will follow this lead for now".
So, yeah... We're happy to help the other guys move up the ladder, really, been there myself; but it's a bit sad, that's what it takes to get promoted: another job offer and a resignation letter in hand.
Employee: Please pay me more.
Company: Why?
Employee: If you don't then I will be able to find a more
lucrative/satisfactory position elsewhere.
At this point in the conversation, the company has only a couple of possible responses: 1. You're free to do so. I'm not increasing your pay.
2. Ok. I'll take your word for it. Here's a raise.
3. Prove it, and I'll give you a raise.
#1 is the only option if the company is strapped for cash and the best option when the employee's net value is low.#2 can be a good choice if you have a very good sense of the job market and what makes a competitive compensation package OR if the employee's net value is high and an equally good substitute will be difficult to find.
In all other situations, #3 does seem the most sensible and least risky.
If a company is inclined to #2, they can and probably should award the raise preemptively, before it has been asked for.
Now, as an employee, if I suppose the company has thought all of this through, and they haven't preempted me with an offer of a raise, then I can infer that #2 is not among the possibilities. So I probably don't even need to ask for a raise. I should probably just look for other jobs and then when I get an offer I can find out if the company is going to take option 1 or option 3.
As a big company, such as a Fortune 500, often a manager will want badly to retain an employee and would happily go for #2, even preemptively. But if the senior management (who never even sees that employee) does not share the manager's assessment of the employee's value or the manager's familiarity with the job market for that role, then they will not allow it.
I've seen all of these cases occur. Happily, my current employer is happy to pursue option #2 for high-performing employees.
It happens. Not infrequently. It's why I never tell my employer when I get an offer. They might just give me the raise because it would hurt to lose me today but they can lose me in a couple months, and then the offer I had at the new company is long gone.
I feel I need to at least go through the motion of entertaining the counteroffer, though. Otherwise they'll think I don't like them or be offended and I'll have maybe burnt a bridge. Of course, for the same reason, I was never looking for another job. That offer came to me on its own.
Will a counteroffer change that situation?
If they would pay me what the market says I’m worth (and I’ve done a ton of market research) then I’d be happy to stay where I am for the foreseeable future. But if another company offers me a job and the work and environment seem comparable but they’re willing to pay more... I’d seriously consider that offer and be prepared to leave. However, if my current employer comes back and says, “Actually we will beat that by x%” then I’d seriously consider staying.
It also helps that someone else in the company did just this and is still with the company a couple years later.
Especially in big corps there can be a policy of being stingy with the wages unless there is some scenario like a need for counteroffer for a high performing individual contributor.
Now, you can think the company is cheap and does not really earn you contribution.
However, the psychological reality is that people don't work in their companies - they work inside teams within companies, and the duties and the culture of the team can be great even if the company policy (likely sculpted out of feeling of ficudiary duty towards stockholders among other things) feels cheap.
Great teams and great managers are far more important for a great job than "great companies". Yes, the latent company culture affects team as well, but that's only one aspect of the whole.
I'm pretty happy where I am right now, but if you give me an offer to an attractive position for 20% more money I'd at the very least entertain the notion.
A) The company didn't value you until it was too late. Their opinion of you hasn't changed, just the pay rate.
B) The company now has painted a target on your back as someone that is "in it for the money" and doesn't have the best interests of the company in mind. It's bullshit, but that's now management thinks. Next time a budget cut or RIF is necessary, guess who is first in line?
In both cases, you need to weigh if that's worth sticking around for.
Last place I left, I made it exceedingly clear, a year before resignation, 6 months before resignation, and during resignation, that all they needed to do to retain me was to bring me back up to market rate. I would have definitely stayed if they were forthcoming with a counteroffer.
This seems like a counterproductive response if the labor market is tight.
Company: The market is competitive and your market rate has increased, so here's a raise (of more than 2-3%)
Every single time I've got a raise I've had to either fight for it or move, and then companies are wondering why so many people move...I was lucky that my direct manager valued me and guided me through the process of documenting my accomplishments in the right ways to present the case for a substantial promotion.
Apart from this one time, I have always been told the company can’t offer raises or discretionary bonuses beyond whatever the board grants for cost of living, and have to switch jobs repeatedly if I want to earn more.
I don’t get it. I feel like it must be some misaligned incentive problem with HR preferring to make executives believe turnover and constant hiring have to always be the norm, to justify their jobs, instead of cultivating a culture of long tenures by actually offering substantial raises or bonuses.
My direct managers were awesome, but I ended up leaving for other reasons.
to get you a raise, (s)he needs to do a lot of convincing to their boss, HR, etc - a lot of trouble, really, so they are not naturally inclined. But having offer in hand helps with the process and creates urgency, so they will do it
otoh, to fill a vacancy is most probably a streamlined process which keeps everyone busy and happy (even if its worse for the company as a whole)
I find it hard to believe that the cost of interviewing candidates, onboarding and ramping up a new employee is less work than making the case for a raise with a solid performer.
but obv it changes when the departure looks imminent, as I said
I am assuming that this answers are not done on the spot, but after a minimum debate.
With this answer, the standard process for the employee will be to polish their resume, put themselves on the job market, research candidate companies, explain dozens of time why they want to leave their current job and interview up to getting a proposition.
At that point, there is sunk cost associated with all of that time spent, they have successfully came up with legit reasons to leave the job, and are facing people that want to work with them more than you seem to be.
At that point, I think that mentally moving to a new job is just easier than staying.
I think it’s already a done deal if the employee is threatening to leave.
Up until that point, there’s usually:
- self assesment from the employee to explain their perf
- response from the employer about what they agree with and what they don’t like, and what is needed for them to give a raise.
- eventual employee appeal of the decision
- response to the appeal
At that point, if the employee pulls the “I could go somewhere else card”, or the employer was trying to screw the employee, and giving a raise will still leave a bad taste in the mouth of everyone; or the employer can’t do anything and the employee has no choice but to actualy leave.
That’s also why I think trying to keep someone who puts down a demission is useless, except if the company has a drastic change coming up that solves the employee’s complaints.
Moreover, simply saying a thing aloud so many times can cause a person to believe it, even if that was not originally the case.
I know that just a small portion of the work I was doing covered my salary and the other two guys I worked with. I know there was room, but the company had no flexibility to offer raises. So I switched to another company and got a 12% raise. I'm not going to wait around for a match.
This is a managerial failure in my opinion. Manager/company is proving that they are not doing their job by saying that. It's not a place to stay, although most of the places are always like that.
Prove it, by interviewing at our competitors and getting a better job offer? From the employer's standpoint, it seems silly to bluff like this. You're banking on the guess that the probability that the employee can find a better offer, times the salary difference, is less than the raise you could just give him/her today.
This was called "Craigslist Casual Encounters" I believe.
If you're going to the negotiating table, it's best to be fully willing to walk away if your demands aren't met.
If you don't have a backup plan in pocket, you're likely going to be willing to compromise when management tries to talk you down.
Then when I find another job, suddenly they find money, can match any offer, and will do whatever it takes to keep me.
I used to take the raise, but not anymore. The employer has already lost trust by lying outright in its initial negotiation. They’ve made me jump through the hoops of a programmer interview process, and wasted my time, their time, and another company’s time, all on a gamble that I can’t or won’t get an attractive offer elsewhere. No thanks, I’ll take my chances elsewhere.
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.
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.
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.
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.
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...
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?
And that was a large product. It would happen much more often, if they'd follow agile.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
That said, I sort of hate this headline. These people aren't quitters. They're ambitious, and they want more.
IME this is in full swing at just about every company complaining about job hoppers.
It got to the point where engineering was down to three people-present company included-and a guy managing us who probably should have been let go long enough and neither myself or the other fellow could really stand to be around even socially-much less as a cohort and colleague (and to this day, the other guy and I strongly believe was the root cause of so many of our other engineers quitting once the former Director left, leaving jerk character as the most senior in the room by longevity alone).
Quote from Fetch Robotics CEO Melonee Wise on SXSW panel.
https://venturebeat.com/2018/03/13/fetch-robotics-ceo-douche...
Melonee kicks ass.
If you ever walk out of a technical meeting, summarize key details with one of the senior attendees and they tell you, "that's not what we discussed", then you probably work in a dead sea.
The thing that is the most pernicious about this effect is that it can be difficult to notice objectively. People who are in the trenches, are clueful, and know first hand the qualities of individuals who leave will know immediately that this is a bad development and that the organization has lost something of significant value. Even so, it can often be difficult to back up that gut instinct with factual evidence. It often takes years for it to become fully evident unless there's utter incompetence on display, and that evidence is usually in the form of it being more difficult and taking longer to execute on challenging projects, while achieving less success as a result. The thing is, in almost every dev shop on Earth and especially in the "higher level" ones the projects from year to year or "release cycle to release cycle" are often not 1:1 comparable, each has their own unique difficulties and complexities and even without losing any talent it would take a different amount of time to tackle those projects and the results and "level of success" would still be different. Without a window into a parallel universe it's hard to say how much you've fallen behind the nominal "unevaporated" track.
And in the eyes of management it's even more difficult because they are even more resistant to the notion that something they've done has had a negative impact on the company. If the end result is anything other than abject failure, if the lower quality "dead sea" org is still able to achieve a decent measure of success, still operate a profitable and successful enterprise, and so on, then they will think everything is fine. Even if the difference might have ultimately been orders of magnitude difference in levels of success, because that alternate timeline is unknowable.
And if you wonder why so very much software is surprisingly mediocre despite many hundreds, thousands, or tens of thousands of dev-years of work being put into making it better, well, maybe there's a reason for that.
Do you know if there's any pattern to the big, dumb changes? Are specific changes more likely to signal shipjumping time for top talent? Or is it a growing dysfunction?
Over reliance on metrics is often a huge red flag. If your continued employment, your bonus, or your promotion prospects rest on how many bugs or tickets you close, how many test cases you automated, etc. then that's problematic. Because metrics can always be gamed. And if people are being judged relative to one another based on gameable metrics then only the people who game the metrics will get ahead and everyone else will be left by the wayside. To the detriment of employee morale and actually getting the right work done that needs to get done. If you tell someone that they have to close lots of bugs to show they are doing their job well then they are incentivized to figure out how to wiggle out of responsibility for a bug or "fix" bugs using the most expedient hack possible. Instead of taking the time to investigate a bug thoroughly as far as their expertise and context allows, doing a root cause analysis, stepping back and analyzing the meta-context that made the introduction of the bug even possible, and maybe doing the work to design a very thorough fix for those problems, beyond just the limited scope of making the one bug go away in the short term.
Good development work can often defy all metrics that attempt to measure it. It can look like an average of a net negative number of lines of code written. It can look like spending a month on a seemingly inconsequential bug (which turned out to have a very interesting cause that revealed a fundamental flaw in the design of the system which required several months to fix but led to a huge increase in overall reliability). It can look like days, weeks, or months spent not writing code or fixing bugs at all. Maybe that time is spent doing documentation, maybe it's spent doing design work, maybe it's spent doing research, maybe it's spent picking apart an existing system to learn exactly how it's put together, all of which might end up being hugely valuable. The thing is, there's no metric for things like "prevented a thousand bugs from being filed over the next year". And that gets to how difficult it is to objectively measure the work of coders.
The other major red flag is when you see people treated as just interchangeable resources. Does the company seem to value people's time? Does it treat people like human beings? Does it seem like the company/employee relationship is a cooperative (vs. exploitative) one? Is the company flexible about working from home, working non-standard hours, etc? Or does it treat knowledge work like a factory job where it cares about hours worked, "butts in seats", mandatory "crunch time", etc.
Which is pretty much the default mindset these days...
The problem is people who are not experts and do not take on responsibility, but stay anyway.
The responsibility-taking experts are the backbone of any organisation.
One day a co-contractor commented at the lack of energy among the employees. He observed that none had any get-up-and-go. I thought about a moment and replied that anyone with get-up-and-go had got-up-and-gone.
Just go look at the job ads and see what pathetic items they list as "benefits".
- natural sunlight - monthly social events - snacks - ping pong table
All either basic workplace expectations or intangible irrelevant gimmicks.
People are not that dumb. If you want to avoid paying people tangible benefits and what they are worth they will dump you and no amount of sunlight and social events and catered lunches is going to change it.
Is that a US thing? Never ever seen that in Germany, sounds like "free oxygen" too me.
The more you know.
So the deal is "salary that isn't going up + a bunch of gimmicks".
In fact many of the "benefits" are designed to benefit the company such as social events outside work hours that is basically free team building activity for the company.
Or other gimmicks to trick employees into working longer hours.
Then they wonder why people hop.
Because there's nothing else other than that salary going and someone next door is offering 10-20% more.
Real and tangible benefits takes some guts to offer and they don't have it.
It could be things such as extra paid leave days, highly paid overtime or no overtime culture, shorter work days for usual market pay (say 9 to 4), private offices.
Employees will sure as hell miss a 9 to 4 job a lot more than your snack-packed kitchen and beer on tap.
> "There is wisdom that only comes from complete product cycles -- no amount of job hopping can provide it."
Sure there are places where it matters. But for majority of projects it doesn't. There are countless examples of (semi-)failed projects with massive budgets, and those budgets keep getting allocated regardless of any track record.
So no wonder a lot of people in this industry get bored. Will frequent job hopping hurt their future career prospects as one of the comments suggests? Probably not. Why? Because it is important that software projects fail - [1]
[0] https://strikemag.org/bullshit-jobs/ [1] http://www.berglas.org/Articles/ImportantThatSoftwareFails/I...
[1] https://twitter.com/id_aa_carmack/status/761986843319660548?....
If I'm already going to be stuck building things that never release then I might as well get the most money that I can
It's more like a salesguy just landed a big fish and the big fish is making these demands to close the deal, so bolt on some new functionality to your existing platform. Ad nauseum.
I am in enterprise shops mostly and the one shop where we were releasing something every week or two was a 5 man engineering team that was left alone by the main company until we started making good money, at which point the company started interfering and we stopped shipping. In the enterprise jobs I have more projects under my belt that were completed and never released versus released products.
Every time it's been the result of either a low level executive losing a political battle and the project being shelved to rearrange resources or a company with little to no competition where executives didn't seem to care much about a million wasted here or there. One project I was on wasted over a million in development costs with the 5 product owners and me as the single dev because the executive who needed to sign off on the completed project didn't like the background color and insisted we started over at the requirements phase because "What else might we have gotten wrong?"
Startups seem more fun/invigorating but the stability and pay haven't been there when I looked so I just stick at the enterprise jobs doing what I can and saving money aggressively to be financially independent and start working at jobs that I want to work out
I can definitely see the appeal of finishing a project before moving on to the next one, however.
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.
Same with the word "poaching". Offering somebody a better job is not property theft.
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.
For the record the average tenure in the Bay for a software engineer is 2 years. So your "at least" is the average.
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.
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.
If this were true nobody would hire contractors on a short time (less than a year) basis.
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.
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.
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.
I'm saying if it takes 6 months to train a worker to productivity, it's not unreasonable for a company to reject someone who's had 5 jobs in 5 years.
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?
Or have I misunderstood you altogether?
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.
> 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.
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.
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.
As a temporary US worker, hopping to a new job is too risky. Will I get fired at a new job?, I need to get a job fast or leave the country.
Also, there's a lot of uncertainty over what happens if your employer started a green card process, and you want to switch jobs.
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).
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.
The incentives guide behavior. I'm not offering a solution, just the observation.
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.
You're getting ripped off. Quit.
You should expect big raises as you climb up your first 4-6 years but I don't think this advice holds generally.
Because companies benefit from this form of asymmetry and others, e.g.:
- The company can hire many employees but employees cannot work for multiple companies at the same time
- The company knows salaries of all employees and does market research but employees are recommended not to share and compare their salaries
- The company can offshore work but employees cannot.
That is, probably would’ve loved to with the previous place, but didn’t have the confidence to.
1. If you're in the first 10 years or so of your tech career, you should be changing jobs every 18 to 24 months. These are the primary years in which your salary goes up, and to stay in a role for a longer period of time without significant (e.g. 20%) raises could have a dramatic effect on your lifetime earnings.
2. NEVER discuss your current salary with a recruiter or potential employer. It's currently illegal in some jurisdictions to be asked about this, but overall it's still very common. See more details and negotiating strategies in an article I wrote on this topic: https://adamdrake.com/what-is-your-current-salary.html
3. Be prepared to transition into a role where you are responsible for people and output, to some extent. This makes you more valuable to companies because you are able to increase output from a group of people instead of from just yourself. Think of it like scaling your brain. The transition from Teammate to Team Lead can be difficult, and after advising multiple companies and teams on the topic I wrote up some of my thoughts: https://adamdrake.com/teammate-to-team-lead.html
3a. As an extension of the above, make sure you're leading for the right reasons and that you're taking care of the team: https://adamdrake.com/leaders-eat-last.html
4. Maintain technical skills and make sure you're always delivering valuable technical results, or providing guidance to people so that they can do the same: https://adamdrake.com/always-be-shipping.html. People and companies will almost always value you as a member of the organization based on what you've provided lately, so you have to keep producing. Once you've been hungry, you'll never feel full. Stay hungry.
Lastly, I think it's pretty clear to all of us that this could be avoided if companies took care of people, gave raises preemptively and as close to market rates as possible, and gave people an opportunity to advance in an environment with a high degree of loyalty. Unfortunately, that's almost never the reality.
You can definitely talk about your value but most of the time the company has a set budget for the position.
/anecdotal
The main issue is that you shouldn't discuss your current salary, but you should absolutely discuss the budget for the role. The reasons I make the distinction is because many candidates will have a lower current salary, and although the company has budgeted X for the role they will be happy to pay (X-delta) instead.
Talking about your current salary is basically never a good idea, but talking about the budget and salary for the role is certainly a good idea.
All that may be moot, I'm now over the "tech Logan's Run" age of 40; will a recruiter simply assume I'm a dinosaur that hasn't learned anything in the past 20 years of delivering software and services?
That said, the only way to win a negotiation is to not want what the other party is offering. Even when job searching while unemployed, I just turned down places trying to pitch the standard cookie-cutter $150-160k job offers, religious micromanaging Agile crap, etc.
Unless you need the job, you really should just say no to these things. It’s almost a civic virtue to help keep wages competitive with actual value add, help fight back against abjectly bad business trends like Agile or open-plan offices. At least require them to really pay you well if you are forced to deal with that nonsense.
Cookie-cutter offers?? Unless this is the Bay Area, I don't think there's such a thing as $160k jobs just floating around. The top 10 tech companies barely even offer that as base for a good software engineer (excludes stock & bonus).
> religious micromanaging Agile crap
Definitely agree with you there though
I think people are downvoting out of jealously.
I have a friend who works at Amazon and he was telling me how much he paid for a slightly smaller house. I was amazed. Out of the FAANG companies, Amazon is the one company that I think I would be able to work for.
They are always looking for AWS Architects at Amazon.
Well, there are and the point of finally getting around to saying this out loud is to push through the brainwash.
Too many people are subservient to their uncompetitive employers just because they feel obligated to "count their blessings".
Turn down six figure job offers for the right gig which typically comes with a better compensation package.
Before you make your rebuttal, lets up the stakes even more: I've done this unemployed with six figure debts, a calculated risk, and now I have no debts. Calculate your risk. If you get it wrong, ruin your family, lose access to credit and also end up homeless, well yeah that happens.
At bigger companies, it comes with annual RSU awards or bonuses, worth between maybe another $50k-$150k depending on your particular skill set or seniority. At start-ups, they try to sell you on an equity package that would work out to something close to the same annual dollar value under the assumption of a mildly positive exit or IPO.
This cookie-cutter package has seemingly stagnated since maybe ~2014, at least in lots of interviews since then, I haven’t seen the offers going up much over time.
But for many fields, $150k is not competitive with what the top end employers pay for a base salary, and the equity or bonus part would need to be in the $100k range to be competitive in total compensation. If you believe you’re a top developer and you can prove it during interviews, you absolutely should be targeting closer to $190k and substantial equity/bonus. If you also have 6+ years of experience or a PhD or something, you should be well over $200k on base salary alone, in major US cities.
You should also be negotiating severance packages, sponsored attendance at conferences, customized equipment for your workspace, possibly negotiating improved expiration or acceleration terms in equity documents, a sign-on bonus in addition to relocation (which should be covered entirely by the company, including dealing with most of the arrangement making).
Just say no (unless you’re in dire straits) if a company won’t negotiate all these things. Get good at talking about it, introducing the HR contact or recruiter to the idea that you expect a real, grown-up job offer covering a wide range of compensation and benefits.
Otherwise it contributes to wage stagnation when employers believe they can keep making the same $150k offer and banking on new grads or people desperate to relocate to X or whatever, and not knowing what they are actually worth.
Unrelated to your bigger point, but I'd put Seattle in second place after SF for the high offers. And for tech jobs, Chicago wouldn't feature on my list at all.
I think you're focusing too much on base salary. Past a certain point, companies flatten out their base and only start upping the equity. Amazon actually has strict rules about it - they cap out their max base salary at 170 and there on it's all equity + sign-on bonus. People should look at the total comp - RSUs are reported on the W-2 anyway. And they can be sold immediately upon vesting (usually the vesting periods overlap with trading windows), so it's really no different than a salary.
In Chicago specifically, GrubHub, Teza, Google, Salesforce, DRW, IMC Trading, Akuna Capital, and Citadel are companies I’ve directly spoken with about Chicago-based position salary over the years, and all of them have positions for people around ~3-5 years of experience but above average expertise with base salaries in the range of $180k-$210k. If you naively go into negotiations at these places and openly state low six figure salary numbers or just take a recruiters word for it, then yes, of course they will try to pitch you everything in the $120k-$140k range. You have to do well in interviews and then tell them, no, that kind of below-market nonsense isn’t going to work, and really walk away if they won’t pay more competitively.
> If you also have [...] a PhD or something, you should be well over $200k on base salary alone, in major US cities.
I have a PhD + 1 year exp. and recently accepted a data scientist offer at a F/N/G company for around $200k total. If these companies are really top of market, then I either did poorly at the interview (in which case why would they make an offer at all?) or I just suck at negotiating.
You can make six figures just doing remote Magento developer work these days. Just go scour the job sites, there are a ton of six figure remote jobs these days. $150k is a bit high, however it's not dramatically so.
The first time I was very young, had no savings, and no professional network. I ended up moving across the country to stay with my family while I got a new job lined up. It took me almost no time at all to get hired at what turned out to be a very good company.
The second time, I had 6 months of expenses in cash and more in long-term savings of various types.
For whatever reason, the way the interview dice rolled that second time it took me 8 months to get back into a solid gig, I chewed up all my cash savings, and it hurt a little more because I was counting on professional network contacts that made promises they didn’t deliver on.
So, your mileage is going to vary. I was probably too ambitious in my initial searches the second time around, looking for a big boost in both salary and title.
I can’t speak to how common it is, but I will say that the frequency of it is related to a few key factors: 1. How startupy the company is. How willing they are to burn people out with long, pointless hours. 2. The strength of your savings and family and friend networks. How likely are you to be actually homeless and broke vs. just unconfident because you’re sleeping on a couch and don’t have a job right now.
I don’t think people do this as much at mature companies because the overall amplitude of how bad and how good things can get is smaller. Startups can have really great highs, but the lows can destroy you. The worst most established companies will do to you is slowly wear you down, so there’s often a lot of time to plan an exit and get a new gig before you flame out.
It seems to me that in the past you had an "in" - someone that told you about the opportunity and primed you for the position. Also, they probably talked you up and set expectations when recommending you.
Today, hiring is closer to tinder than a blind date. You send a resume, you talk to some people for a few hours and you are expected to make a decision based on that. There is little emphasis given to how good a fit will be. Personally, I have walked into interviews where they were so eager to give me an offer that they didn't even bother to give me details on the position and the environment.
Getting a job and finding out that it's not what you expected 4 months in is disheartening. But employees and employers alike are guilty of not looking at this as a long-term investment.
If you live someplace where there are less opportunities, it's not so much of an option. (Besides moving.)
Say frictional unemp is 3% a month and so "Employee Lifetime Tenure" is 3 years. Given how inefficient the search process and job market is, shouldnt we encourage more searching especially at early phases of life? What is the theoretical upper limit to that?
I wonder what research has been done to model this admittedly very theoretical question.
Here's what I find irrational: companies often wait until valuable employees generate an outside offer of employment before they hand over substantial wage and/or title increases. This process requires that an employee become dissatisfied enough to go through the process of interviewing, and in software development, that isn't necessarily trivial (it requires, in many cases, re-studying for a data structures and algorithms exam, often taken at a whiteboard in front of a group of people, which is quite stressful for many people). It sends your valuable employees out into the market where recruiters and hiring managers have a chance to pitch a job switch to them, potentially getting them excited about a new opportunity. And it forces the employee to put him or herself in a potentially vulnerable position with the original employer. I have read articles saying you should never take a counter-offer, because you be forever viewed as a flight risk. I think this is way too extreme, and that the process is understood and tolerated, but the effects of threatening to leave do sometimes persist in a more moderate form.
I'm trying to think of the reasons for this custom, why it may not be as irrational as it seems. One possibility is that employers actually don't entirely know who their top performers are, at least in software development. They don't fully understand it, and they don't have numbers to point to like in sales. It could be that for some firms, generating an offer is the only way to a software developer can signal his or her value in a way that the employer can understand.
Another factor, I think, is the difference in extroversion and comfort with negotiating between many software developers and managers/entrepreneurs. I do think that many people who hire software developers have trouble understanding the reluctance to negotiate. To them, negotiating or asking for something is such a normal, easy, run of the mill event, that they have trouble believing someone would go through dozens of hours of interview prep and days of white boarding exams rather than just saying "gimme".
Lastly, this could be one of those downsides to a heuristic that is more optimal for other reasons. Perhaps there are enough people who just sorta don't look for new jobs, and can be paid less, that it's worth losing some of the workforce this way. Some of them will stay with counter offers, and if you follow this process, you may save more overall by not paying many developers actual market pay. This is more common than you'd think - many people in SF, for instance, who bought property a long time ago or who have very strong rent control locked in don't really think of maximizing their pay, and may not even really know what others are getting paid out there.
Just for the record, though... I'm skeptical about the above argument. It seems like that would explain why businesses tolerate a little bit of job hopping, but not an epidemic.
Anyone want to take a crack at it, come up with a reason why the current practices may be more rational than they seem? Not saying they are, just interested in what I may have overlooked.
So my take is that the reason companies behave irrationally with regard to talent retention is that no one "owns" that problem. Same reason any number of other important issues fall through the cracks at any given company.
And yes, I think you were spot on when you said that companies don't even know who they should be trying to retain.