
Why some of the best developers keep quitting - gregorymichael
https://www.fastcompany.com/40443084/this-is-why-your-best-developers-keep-quitting
======
anonacct37
This is wrong wrong wrong. Here's why most developers keep quitting: it's
because for them the grass really is always greener on the other side. Usually
by about 20%.

I can only assume that right now the best developers are vastly underpaid
relative to their worth. Why? Because it turns out every time they get annoyed
with their current company they can send out some feelers and get a 20% raise.
Most people can't do that. Most teachers can't just quit and get a 20% raise
yearly. Do this a few times and ultimately you realize that your intrinsic
value didn't really increase 1.2^3 (72%) over the last 3 jobs, it's just that
companies were always willing to pay more if they needed to, but (if you were
being honest about current salary) only in increments of 20%.

If they were willing to pay more, you were worth it.

There are very very few companies that exist right now that give you crappy
work but top notch comp for that work. For those companies, there is not a
"huge retention problem", it's just a normal-sized retention problem where in
addition to paying their developers based on value they also try to ensure
they get to mix things up a bit and enjoy a conference or two.

Most companies don't want to pay for retention. It's pretty sad that most
companies can't make staying at their current company more attractive than the
risk of starting a new job with a team/company that's unknown.

~~~
dlwdlw
I have a theory that most people in the US are overpaid. However the
overpayment is a strategy by management so that they themselves can be even
more overpaid. This can be afforded because the overpaid people are locked
into middle class life scripts driving up cost of living (houses) so that they
are still reliant on the jobs. It's potential "fuck u" money but isn't because
of the attractive force of a domain and resistance to change. (ironically the
same arguments some techies deride locals for for not moving some place
cheaper)

There is excessive profit taking at all levels including the IC level, however
market dynamics actually create greater and greater differences in wealth
despite the trickle down.

~~~
thehardsphere
Your theory is not based upon sound economics. If everyone was colluding in
the way you describe to pay themselves more, then a situation would emerge
where companies that didn't comply with this conspiracy would be significantly
more profitable than those that did.

Note that, although managers may wish to throw money around because it's not
theirs, shareholders view every penny spent on salaries as an expense that
eats into their profits. They have an incentive to insist on lower employee
salaries whenever possible, and they're typically the ones who make the rules
in most firms.

Also, if situations like that could exist, you wouldn't only see them in the
US.

~~~
tensor
Apparently Apple pays less than average for silicon valley:
[http://bgr.com/2016/01/04/steve-jobs-answer-apple-
engineer-s...](http://bgr.com/2016/01/04/steve-jobs-answer-apple-engineer-
salary/)

~~~
mercutio2
Did you read that story to the end? There’s a bunch of editorializing not
backed up by the actual details.

Who do you think knew more about compensation at Apple, Steve Jobs, or the
random employee? Or perhaps your argument is Steve Jobs was just lying?

------
acconrad
None of these 4 reasons (TD;LR: you waited until the exit interview, you
assume mentors want to manage, you assume the natural ascension of developers
is management and not higher-level IC roles, you aren't supporting them and
their career) are why they quit.

People quit because the modern, zero-loyalty, everyone-for-hire company does
not provide a long term strategy for providing intrinsic motivation (autonomy,
mastery, purpose); they don't want to pay for retention and therefore don't
provide perks for retention.

Until this changes, it should never surprise a manager why churn is high and
average tenure is less than 2 years. If you are a manager (especially middle
management - meaning you don't have the scope to make massive, company-wide
cultural changes), it's best to look at your directs as someone to help them
advance for their _next_ job. I know that sounds counterintuitive, but if you
lead with transparency on the landscape, you build authenticity and trust with
your directs, which will go much further for your relationship while you are
working together.

~~~
joezydeco
_People quit because the modern, zero-loyalty, everyone-for-hire company does
not provide a long term strategy for providing intrinsic motivation (autonomy,
mastery, purpose)_

Rands refers to this as your "shields down" moment.

[http://randsinrepose.com/archives/shields-
down/](http://randsinrepose.com/archives/shields-down/)

~~~
OtterCoder
I hate this approach to management. Why should I be "shielded" from a better
opportunity? That only protects my manager, and gives me no valuable
protection.

~~~
kthejoker2
Translation: "I didn't read the link, here's a non sequitur."

The "shield" is just your day-to-day (sometimes minute-to-minute) SELF-
evaluation of your current job satisfaction and willingness to leave. It has
nothing to do with you being shielded from anything by anyone else.

~~~
OtterCoder
I did, in fact, read the link, and I'm reacting to the condescending language
used throughout. The unspoken attitude in the article is that the employee is
a dirty traitor and a fool for wanting to move on. 'Shields down' is a telling
choice of words because the manager feels that the employee is protected by
being _his_. It's a patronizing, parental sort of attitude towards employees
that irks me to no end.

To pull another quote:

    
    
      "If I’m sitting here talking with you it means two things: I don’t want you to leave and, to the best of my knowledge, you didn’t want to leave either but here you are leaving."
    

Here he's either assuming he can read the minds of his employees, or that his
employees should share every dissatisfaction and stray thought with him.
Hyperbole, perhaps, but not by much. I don't want a nosy dad for a boss.

~~~
dilemma
I agree that the author is condescending. Also, despite writing a lot on the
subject, he doesn't actually seem to be a good manager. Very authoritarian.

~~~
pavlov
He worked at Apple, a company known for a certain authoritarian tendency. (I
like Rands' writings though.)

------
malux85
Also - let the developers choose the work. We have a big todo list on the
wall, and when a developer needs work, they can choose from the list.

If a developer comes to me with a new idea, and it sounds viable, then I give
them a bonus based on how well it executes. Everyone is incentivised and
motivated to come up with new exciting projects.

Smart developers want to create, so set them free! Autonomy, mastery, purpose
= productive and happy

~~~
BurningFrog
How do you handle boring unglamorous but important tasks?

~~~
vvanders
Enthusiastic(and authentic) recognition. Everyone knows those tasks suck but
you can still use it as an opportunity to re-enforce how critical they can be
and give a big kudos for whoever rolled up their sleeves and dived in.

Another nice upside of this approach is it helps re-enforce a culture of doing
the right thing because we _ship_ and don't just write code.

~~~
ethbro
I think group recognition works excellently. Especially in terms of ensuring
folks who didn't choose the ugly tasks recognize that they won't have to do
them now thanks to John / Jane.

~~~
mercutio2
Many people, especially developers, specifically hate group recognition.
People who like group recognition are the easiest to support (if they’re
actually good), but sadly, these folks are the least likely to actually enjoy
maintenance work; enjoying group approval correlates with a desire to work on
the Big Cool Sexy New, which maintenance work decidedly is not.

You have to know your people, and give them support that motivates _them_. But
that takes (gasp!) good managers.

~~~
ethbro
I'm curious, how do you get from people who enjoy group recognition are the
least likely to enjoy maintenance work?

My gut is that it goes the other way around. People who desire to work on the
Big Cool Sexy New are often less motivated by peers, and more by personal
drive, as by definition most of their peers won't know what the hell BCSN even
is. Unless the person in question is working in a 100% BCSN shop, in which
case there's likely to be fewer maintenance tasks in the first place as the
codebase will be fresher.

------
mk89
My opinion after years of work is quite simple. I am disappointed by the way
software is developed and by the people who contribute to it (leaders managers
and anyone involved). When I was a teenager and I was eager to learn computer
science and one day to work for a "cool" company doing good stuff I didn't
focus on the "human" side of it. Big mistake. I should have already known that
working with computers doesn't actually mean working with computers only. It
involves 70% of human interactions and somewhat 30% of development. Which
would be fine, if teams were always on the same wave. However group dynamics
play an essential role here. Then there is the thing about the company's
structure. Some are more or less hierarchical. However not everyone allows you
to implement some ideas, as they don't fit the business. Then there are people
who are simply not capable of managing, and I have to say that a lot boils
down to this, not because it's easy to blame the management when you are at a
bottom layer, but because it's difficult to be a good one - a manager.

Lying, witholding information, lack of communication, faking the cool manager
just to show the atmosphere is open etc., how many should I still count?

So, the role of sw dev has to deal not only with the fact that it's not
anymore about writing algorithms/data structure/rewriting the OS from scratch
(which are super cool things to do), but ... also to deal with some
incompetent people who under normal circumstances would not do certain things,
but in the real world they are pushed from all sides and therefore behave
quite bad. This is the reality I have seen so far, just because people don't
take their own role seriously, tend to delegate as much as they can, etc. A
lot like politics where nobody is really to blame, which creates a lot of
frustration and people change "flags" quickly.

------
rarec
It's rare to also see these articles point out the immense pay discrepancy
that can occur.

Companies seem to want loyalty but they don't want to give it. This leads to
the merc approach of just selling to the highest bidder.

~~~
fweespeech
To be honest (at least in my experience) if you are really worth $X as a
developer, you can generally get your current employer to give you $X if you
are proactive about it.

Quitting generally has more to do with:

A) "You (the employer) Waited Until The Exit Interview To Ask What’s Wrong"

B) "You (the employee) Waited Until The Exit Interview To Convey What's Wrong"

Leaving my last job, I told them what I wanted 1-2 years before I actually
left (for more money, but that wasn't the primary cause). The CEO basically
told me in the exit interview if it was about money, he'd give me another 30%
to get me to stay (and they had countered with that before, back when I told
them what I needed to stay long term).

Money isn't necessarily the cause. Its the lack of willingness to communicate
and meet the other person's needs.

~~~
spraak
I dunno. I work for a company based in the UK, which seems to have much lower
pay than the US. I am paid the same as other senior developers at the company,
yet my salary by comparison to US standards is quite low ($70k and no benefits
since I'm technically a contractor). Otherwise the company is really amazing,
so I'm torn.

~~~
mgkimsal
If you are actually in the UK, you have some amazing benefits that US-based
folks don't get in the form of healthcare. I know, yes, technically, you're
paying for it in taxes, but it's there for you all the time, regardless of
your employment status or ability to pay for an insurance policy.

~~~
morgante
> If you are actually in the UK, you have some amazing benefits that US-based
> folks don't get in the form of healthcare.

So? That's pretty irrelevant since any good developer job in the US comes with
excellent health coverage.

~~~
mgkimsal
And when you lose your job... you lose access to that "excellent health
coverage".

Health insurance being so culturally tied to "employment" is ... very
problematic.

~~~
morgante
You don't have to preach that to me (I agree), but it does mean that you
shouldn't really consider universal healthcare to be an additional benefit
when comparing UK & US developers. The US developer also has healthcare not
factored into their salary.

------
mcguire
" _Jason Cole: “If you have someone saying, ‘I’m bored’ and you don’t do
something about it, expect them to leave for a place where they won’t be
bored.”_ "

Ah, if it were only that easy. You fight your way through a half-dozen
interviews, get an offer, negotiate until you just want to lay down and die,
make it through the six-month ramp-up for the new environment, and then you're
bored again. Lather, rinse, repeat, until you realize that laying on the sofa
in your underoos is more satisfying than the bestest employer.

~~~
Taylor_OD
I left my last job because I was bored. All I really want is a challenge to
tackle and the flexibly/trust that I will tackle it in my own way.

~~~
strictnein
Exact position I'm in right now. I've conveyed this to my boss, starting a
year ago, but I think he realized that we just don't have anything challenging
to work on.

I'm interviewing for two jobs now.

~~~
mcguire
Do you really believe that the grass will be greener in the other cubicle?

~~~
strictnein
I've been doing this for almost 15 years now, so I've switched jobs enough to
know that it's not always, but there's enough indicators out there and reasons
for it to be. Both positions I'm interviewing for also move me into the field
I want to be in.

------
nilkn
A few other reasons (all that I've seen in some form in the real world):

* Insufficient raises. This is by far the most common reason, but it's been discussed in this thread well already so there's no need for me to dive into details here.

* Over-rewarding of managers and under-rewarding of developers. Very rarely are the management tracks and technical tracks actually equivalent. For instance, managers are granted extra power in the organization and can often grant themselves special perks like private offices.

* In the same vein, under-investing in developer workspaces. Toss me at random into a chaotic open floorplan and you're going to get very little loyalty from me. Show me that you care and are willing to do the best you can to provide me with a productive workspace and I might think twice about leaving, because I don't want to give up an employer who cares for another who'll just toss me into another open playpen.

* Shoehorning someone into a single role or project for years on end. Almost nobody wants to work on the exact same thing for more than a few years unless it's genuinely super interesting. And your projects are _probably_ not super interesting.

~~~
shandor
> Almost nobody wants to work on the exact same thing for more than a few
> years unless it's genuinely super interesting

That's a really, really tough problem actually. Businesses naturally want
people to work on things that they are already very good at, to keep
productivity high.

This is especially important in software consulting houses that churn out apps
and whatnot without their own products, because their whole business scales
only by the factor between the hourly price customers will pay for their work
and the salary the developers are getting for that said work.

Which is not to say that I wouldn't agree with your point. It's just that I
can also see how painfully expensive not going that route could (i.e.
shoehorning) become for such a company, so I'm kind of sympathetic to their
apparent reasoning behind it.

~~~
nilkn
I agree with you, but at some point you're going to have turnover if you don't
provide employees with internal flexibility and mobility. That means you're
doing to be dealing with the painful process of retraining new folks for
static roles either way. My viewpoint is that, if you're going to go through
that process anyway, you might as well try to retain your proven talent at the
same time.

I did put it on the bottom of my list though because I think lots of folks
will actually tolerate being shoehorned if the employer doesn't make any of
the other mistakes listed.

------
tropshop
What do hyper-productive teams look like these days? I've always been part of
small teams, with only a few true workhorses, joined by other filler bodies.
Productivity was mostly a mystery to management.

I do not understand team sizes of 50+ for some web app product. The formula
only requires a few (3) workhorses that make up a collaboration of skills in
product design and engineering, and finding ways to keep them curious. Add a
junior position if a workhorse is keen on mentorship.

Why take on such high risk with a large team?

~~~
eikenberry
It is the same formula... they just have a lot more filler bodies. These large
team sizes are at companies that decided to fix the issue of finding good
people by throwing money at the problem. If you hire enough people you're
bound to get a few competent ones.

~~~
user5994461
Believe it or not, there are large teams with a vast majority of competent
people.

------
bberrry
I definitely try to take the mantra "never be the smartest person in the room"
to heart.

It has been a fairly decent indicator of how enjoyable I've found working
those particular roles.

~~~
kevindqc
How do you know when taking a job if you will be working with smart or dumb
people? I'm not having good luck and want to work with smart people...

~~~
hkon
Technical interview is a good place to start gathering intel. Flip it and ask
them out about stuff you know. Are they curious, are they knowledgeable.
Curiosity is usually a great indicator.

------
bleair
I'm reading this and I just can't help but laugh. Let's say a company decides
to do a "stay working here interview" and then the developer points out the
things they would like to work on and the ideas they want to develop - things
that they are interested in and excited. These ideas and work projects are
going to be prevented because the organizational flaws are inherent in the
company and pretty much unsolvable... if the company wasn't structurally awful
they would have found a way to make the projects happen.

~~~
humanrebar
Theoretically it could uncover where some managers are undervaluing good ideas
or good technical leadership.

I don't imagine people up the chai hear when good ideas are back-burnered too
long or technical debt is ignored.

------
toomanybeersies
> You Waited Until The Exit Interview To Ask What’s Wrong

For sure that's what's happened with me. We are a small company of ~10 people.
We're meant to have a review with the CEO every 3 months, it's been over 6
months since I've had one, despite my constant reminders to the CEO, he keeps
fobbing me off.

He's also managed to dodge giving my a payrise, despite having worked in total
for 15 months, and still having the same pay that I did when I started as an
intern. It took me until about 3 months ago to realise I was getting fucked
hard.

~~~
bookmarkacc
Sounds like its time to switch companies. If you are being dodged by the CEO
like this you are unlikely to be a benefactor of goodwill in the future

~~~
toomanybeersies
Already on that, I'm handing in my notice in 3 weeks.

------
mnm1
Also: not getting timely raises. Sometimes even after asking. I mean
seriously, why wouldn't they quit? And rightfully so. If an employer can't be
bothered to keep up with compensation for a few years, the developer is
actually now making significantly less than in their first year while
undoubtedly having much more responsibility. That's essentially a pay cut. So
yeah, if you're an employer out there and you think no raise or a 1-2% raise a
year will cut it, you _deserve_ to lose your best developers.

------
swframe2
Employees should pick a path that makes them happy no matter where they work.
If given grunt work then build an automated tool instead. Ask your manager to
let you work on something super interesting that is related to the company's
core business for at least 20% of your time. Identify your most talented
coworkers and make them apart of your social network long term. Usually they
end as a VP/CTO/CEO and it is much easier to follow them than to get to the
top on your own. Flat out just ask the VP of whatever group you like lead one
day to mentor you. Keep track of how your company/group might fail and when
you're sure it is too late to save it, change to another position that is
trending better. Don't bail until you've gotten everything you can from your
current company. Do your job so you can describe it in your next interview as
an example of why they should hire you.

~~~
wetpaws
Company is not your mom, it's a agent of a trade on a job market. If it can
demand something from you, then you can do the same.

In fact, not only is your job to provide company with a product of your labor,
but it also is a job of the management to provide you what you want and need
(interesting tasks, a path for long-term development).

Let me repeat again, it's not a privilege to ask for this, they HAVE to do
this.

------
thomk
“the number-one reason technical people quit is because they don’t have the
option to advance without going into management.” Then it goes on to explain
that you should put them into management.

~~~
Sleeep
A lot of people (myself included) are very unhappy in management

------
loco5niner
...you moved to an open office plan...

~~~
bassman9000
underrated.

But seriously, open office is the devil incarnate. I don't see how it can
foster communication, unless you think communication is to distract some
people, so some other people can look like they're doing something.

------
ghthor
I quit when I get sick of what ever hierarchy I've been implanted in refuses
to flatten after consistent attempts (overt or subvert) by myself to instigate
positive change. My life is governed by a set of rules inspired from daoism
and taijiquan. First and foremost is "Make good change"(The secret trick is to
smile, from you heart). If the authoritarianism is standing in the way of
this, it's time to move on.

~~~
bjornsteffanson
> My life is governed by a set of rules inspired from daoism and taijiquan.
> First and foremost is "Make good change"(The secret trick is to smile, from
> you heart)

Can you elaborate?

~~~
ghthor
Make good change is about making small steps of progress all the time. In the
context of my employer, if they are hindering or ignoring my attempts to make
the workspace efficent, healthier and more productive then it's time to leave.

------
nippples
> You Waited Until The Exit Interview To Ask What’s Wrong

Also: You Fired The Employee When He Told You What's Wrong

------
gerbilly
I think the number one reason developers quit is to outrun their mistakes.

Lots of companies have stories about a few 'genius' developers who wrote the
core of a system, and then left.

That's because it's more fun to develop something from scratch, than to deal
with the maintenance of that system later on.

Rather than stick around and attend bug tracking meetings that go on forever,
many of us quit to move on to the next cool project.

~~~
ihsw2
I have a hard time taking this reasoning seriously because the most likely
rationale behind quick/dirty solutions is that there was a business need (ie:
meeting deadline/high quality/low cost, pick two).

Well-designed systems may eventually grow into something monstrously
unpleasant, not because it's "fun" to shit all over the pristine design specs
but because it's most pragmatic.

------
throwaway5752
Two really obvious reason that never seem to get discussed in articles like
this:

1\. Usually if you've demonstrated success for two years, you can move upwards
more rapidly switching companies (up to a point).

2\. You've gotten past your vesting cliff, and - particularly with early stage
companies - you want to diversify your ISO holdings in the hope of getting a
100xer.

~~~
user5994461
1\. Less than a year if you are at the beginning of your career in one of the
tech hub.

~~~
throwaway5752
I'd consider a string of < 1 year positions a red flag when hiring. I think
there's an element of courtesy and maturity in staying 2 years unless there
are reasonable circumstances why it's not possible. As a hiring manager I want
to make sure that my time and effort recruiting are not wasted. Same for
training and development of subject matter expertise. Obviously I need to
reciprocate in compensation/learning opportunities.

~~~
tensor
We automatically exclude anyone who has a string of positions they've kept for
only a year or less. If someone can't show that they stay at least two years
then it's not worth it to us to bother bringing them up to speed on our code
base.

As you say, there can be exceptions, but it's generally a big red flag and a
sign that someone is overpaid and arrogant to boot.

~~~
user5994461
If only projects were 2 years long...

------
partycoder
And sometimes there's not even an exit interview.

I left a job voluntarily and they sent me an online quiz.

------
perpetualcrayon
Also, some companies haven't bought in to the whole "technology" thing just
yet. I've left positions solely because I knew that if I stayed there for too
long I would be completely out of touch with what the modern world is doing to
fulfill their technology needs.

I can't imagine I'd make the same decision had the company's code base not
been worthy of consideration for an exhibit in a museum.

------
paul6987
I quit mine 120k job because Im not dealing with any disrespect and or
unfairness! For 3 months I tried to work out a situation with a co-worker but
it was a constant fight with this jerk. Tried to get managements help, but no
help or concern was provided.

There's too much opportunity to deal with any B.S. no matter the money you are
paying me...ok id deal with some if it paid $250k and the govt took zero.

~~~
rurban
Same for me. Much better in the long term. You only live once. Avoid
psychopaths and bad managers like the plague.

~~~
paul6987
So true!

I'm freelancing now. How about yourself and what was your situation?

------
erikb
Why is money not discussed in this article? Yes you need to get raises >>3% to
keep the best. You need a fast-lane for talent, in management as well as dev.
If you don't have good people stay for a short time to get their next raise
elsewhere.

------
bartread
Well, let me first express some surprise that this made the front page, given
how shallow this list is and how obnoxious in general fastcompany.com is to
browse (let alone that it's garnered 213 points as of this writing!).

Back on point, here are a few other reasons:

\- You give them no ownership over what they do, and do not encourage them to
show initiative,

\- You berate them for operating outside of a narrowly defined range of
responsibilities,

\- You spoon-feed poorly defined requirements to them,

\- You isolate them from the customer and give them only second-hand
information,

\- You are excessively directive,

\- You take a view that is excessively narrowed by an overly limited
definition of what is the highest priority,

\- You hamper them with bureaucratic processes that make it hard to get
anything done,

\- You continually break up their day with meetings and other interruptions
making it hard to focus,

\- Your meetings are undisciplined and run over,

\- Your solution to any problem is to book a 60 minute meeting with no notice
whatsoever,

\- Your teams are too big, turning meetings into a long-winded and exhausting
drama with everyone feeling they _have_ to contribute and jockeying for
position within some invisible hierarchy,

\- You shut peoples' contributions and ideas down,

\- When people spot problems there is no time or room in the backlog to fix
them,

\- Your agile ceremonies are bloated and tiresome, and your stand-ups are
long,

\- There is a constant need to engage in politics, especially if you want to
be promoted or get a pay rise,

\- The work is boring,

\- It is necessary to build solutions for which other, viable, and
considerably better/safer/more secure off the shelf solutions exist because of
your aging systems/bad processes/excessive siloing,

\- Many stakeholders and departmental siloing leaves developers trapped in the
middle battling to reconcile conflicting viewpoints to reach a viable
solution,

\- Your teams are forced to operate in a way that is largely reactive,

\- You manage by mob and/or by flapping and flailing around,

\- At every meeting there is AV drama because everyone is using WebEx or some
other crappy VOIP solution that leads to 5 - 10 minutes of buggering around
for every single meeting,

\- Cross-cutting concerns lead to even larger and more unwieldy meetings due
to conflicting requirements across departments,

\- The general atmosphere is conflict driven rather than cooperative,

\- (Some of) your best developers are introverts yet you continually force
them to engage in processes and practices that favour extroverts.

\- Your office is a noisy and distracting zoo in which it is hard to
concentrate.

I could go on (and on) but I'm beginning to depress even myself.

------
kerkeslager
Can we start getting warnings when sites pop up obnoxious ads? We get PDF
warnings and that would have been much less irritating than this one which
seized my screen and froze my phone.

------
halfnibble
I thought all developers quit their jobs with the hope that maybe then
recruiters would stop sending them unsolicited offers of huge pay increases
and unlimited vacation days.

------
s73ver
While most of those boil down to the most common reason: Crappy management,
I'm not seeing the second most common reason: Crappy pay (which is just
another way that Crappy management presents itself).

~~~
user5994461
And all of that falls under Crappy Environment.

------
0xbear
I don't know if I'm the "best", but I quit when I'm bored. That usually
happens every 2.5-3 years. Money bump that comes with the new job is nice to
have, but not the main reason why I leave. They offer more, I take it.

