This article should create a fun discussion, but be aware that it's most likely completely bogus. I suspect it suffers from survivor bias: anyone who is in a position to jump ship and get a 20% raise consistently is not average.
If you try to change jobs every 2 years and are not great at your current position, you'll likely be sorely disappointed.
Based on my experience, it's more about the corporate structure of assigning promotions and raises.
Depending on the job, 2 years is plenty of time to get well acquainted with the work flow of a position. The jumping ship happens when someone is ready to move up, get more responsibility and more pay, but it isn't happening.
At my last job, after 6 months I felt like I had a firm grasp on what I was doing. After 1 year I was starting to get bored because the work was too easy -- I was good at it, and often consulted by my seniors and juniors. My company did performance reviews every 6 months, and only reviewed for promotions and raises once a year.
At one year six months, I met with my boss and told him I was ready to take on more responsibility. The response -- "Yeah, I'm really happy with your work and will make sure that's clear on your next performance review". Was I going to wait another 6 months? No. I jumped ship and got the responsibility and big pay raise elsewhere.
I don't think it has anything to do with abandoning a job you're not good at. It has to do with wanting more responsibility and pay. Ship jumpers probably feel like their job is too easy and that they are good at their current position, as is implied by your survivorship hypothesis. The good talent is the one jumping ship.
I think that's one of the important parts of the article; corporate management is either unwilling or completely incapable of differentiating between average and exceptional talent and often doesn't reward the latter properly. This means the only option for exceptional talent to be justly rewarded is to continually jump ship.
IMO that's terrible business practice, especially in software development.
I wouldn't even say talent, necessarily. Every year you work somewhere is another notch against all the jobs that want 10+ years iOS experience. But all industries are like that, and want more years of experience, and often will pay you that 20% difference just because you have worked in the industry longer.
Agree with this. One of the side effects of this is your top performers are always jumping and the people who tend to stay the longest tend to be average or below average.
I tend to disagree. People jumping too much here and there are not "fighters", and I certainly do not want them in my team. I might prefer "average" but ones that I can trust rather than top performer who can leave anytime. It's not just about technical skills...
And it goes beyond that. Salary isn't the only compensation you receive. There are also benefits like 401k (often with match), stock grants/options, health care, bonuses, etc. If you just look at my salary, I've averaged a 4% raise each year for the last 5 years. But if you look at my full compensation, it's more like a 50% raise the first year, and a 4% raise each year after that. I've had offers to go to other places, but they often don't include the other forms of compensation. (Or they do, but the stock is worthless, or the health insurance isn't very good, for example.)
I disagree. Software engineering skill and software engineering job interview skills are only tangentially related. The only thing jumping ship regularly says is you jump ship regularly.
So if they are any good, someone should stand up and say, we should pay this person what they want, if they want to work remote and there are no specific restrictions placed upon them by their job requirements; let them. Keep them. That must not be happening in those cases though or they wouldn't be jumping, that's the point of the article.
If you try to change jobs every 2 years and are not great at your current position, you'll likely be sorely disappointed.
As you say Joe Dev wasn't good enough at their job for anyone to work to keep them, but somehow they have to be excellent to land a job somewhere else every 2 years. My point is Joe Dev is excellent at something, but that is interviewing. It says nothing about his actual job skills except that they aren't so great as to have a company bend over backwards to keep him.
As long as I've been in tech industry, 25yrs, the (at times only) way to get a raise was to change jobs. I've only have experience with small/mid-size companies, No "corporate"/"enterprise" type jobs. Expect dynamic is much different there.
I have been in the industry for around 11 years now. Seems that I have already reached the top of the payscale where I am (Spain).
I think there are companies out there that will pay more than what I am on, but trying to differentiate myself is becoming a problem. I don't have experience in NoSQL / big data / whatever buzzword, because I choose the right tool for the job, not the latest fad. Hell I even got an email from a company looking for "big data" developers. I asked what size there data was, as usually I see a relation database being better suited to most problems. No reply after that.
Anecdotally, I've seen a lot of developers that I worked with who weren't particularly great (or even good), job hop quite successfully. I think it depends on the local marketplace more than individual skills. (And the ability to interview well).
Absolutely- and one of the reasons they job-hop is because they can obfuscate their lack of competence for six months or so and then either leave or are reassigned/fired.
True but then the article also brings up the point that most corporate bureaucracies are unable to notice talent and promote it on a faster timescale than the rest of the organization. In such cases if you know you're good enough to get better pay elsewhere then there is no reason not to.
If you try to change jobs every 2 years and are not great at your current position, you'll likely be sorely disappointed.