
Ask HN: Best ways to retain qualified employees? - cryptos
What are the best effective measures to retain qualified employees (in general and developers in particular)?<p>I&#x27;d like to read you experiences and maybe some studies or articles about the topic.
======
anw
I can tell you how to not retain employees, and do the opposite of that.

1.) Make goals unclear or constantly changing. Bonus points if you tie their
bonus to hitting some kind of OKR even though that goal may be put on the back
burner halfway into the quarter. Even more so if this includes their holiday
bonus, and you have a minimum threshold of “accomplish 80% of your quarterly
OKR and get 80% of your bonus. Get 79% or less accomplished and take home 0%”

2.) Make sure all managers are spineless and won’t fight for their employees.
This includes managers from other teams piling work onto people who don’t
report to them, but add “important to the company” work that has to be done
and your own manager always going along with it.

3.) Make sure there’s a lot of good old boys club going on, especially if the
“principle” engineer and the CTO go out to clubs every other night trying to
wing man for each other. Also make sure there’s no accountability for these
favorite engineers (or employees in general)

4.) Have a career framework that lets your employees know what they can do in
order to get promoted or grow into another role (manager? senior level?).
After a couple years of not promoting (most) people, then get acquired or
change the entire structure so all of your employees are unsure if their work
is actually going to help them get a promotion, or if that’s even an option
anymore.

Finally, make sure feedback is treated like the plague. If somebody notices
that the checkout page crashes every time someone uses PayPal, just ignore it.
Somebody who isn’t the web dev has PR that fixes it? Let it live in limbo
forever. Features require login but don’t tell customers until they get an
auth error, and then have to refill out the form all over again? Not a
problem. Why do you keep bringing up issues with the UX instead of rewriting
our site in Angul...Reac....Vue.

~~~
apohn
>“important to the company” work that has to be done and your own manager
always going along with it.

I've worked in some highly political large companies and one of the best
managers I had would basically say "I know this is basically BS but there is
lots of visibility on this so we have to show something." He'd then work with
us to find the bare minimum we needed to do to to make it seem like we did a
lot more.

It's a lot easier to tolerate crap if people just admit it's crap and your job
is to shovel it. It's awful when a bunch of managers hand-wave and act like
you're smelling roses instead of crap. Then they make you work 10X harder then
you need to just so they can show their boss you are growing roses, not
shoveling crap.

~~~
decafninja
I work at a company where tech is an unrespected cost center. There is also a
ton of useless bureaucratic and middle management crap that impedes actual
work getting done. My boss handles all of that and does his best to shield the
team from all that stupidity so we can get our work done. He's one of the best
managers I've worked for.

I still don't like the company and work environment, but when I do leave this
place, I'll genuinely miss my boss.

------
mharroun
As someone who's been leading people for 8+ years and also who remembers why I
have left places... here is a long but comprehensive list.

1) Pay Fair at hire and try to keep it within the market as they grow in
experience/skills.

2) Give opportunities to learn and grow based on their own
personal/professional goals.

3) Be Communicative and Transparent when it comes to everything....
company/leadership asks, values, deadlines, hiring, firing, promotions.
Attempt to have documentation/processes for these things so theirs no question
in ambiguity or favoritism.

4) Have check-in's often and Listen to the wants, needs, issues of each
individual. Attempt to quickly get back to them with a solution or at least an
answer/explanation.

5) Create a 'culture of winning' where wins are always celebrated and
mistakes/failures are treated as actual learning opportunities to improve.

6) Ensure everyone has a voice, it is heard, and people feel safe to be
critical as long as its constructive.

7) Do everything you can to eliminate toxicity... weather is from members
on/under you or above you. You cant stop others from being toxic but you
should be able to shield most of it from those who report under you.

8) Since you _should_ have the authority EVERY problem you have or those under
you has and its then YOUR problem and your job to fix it (or at lease
respond/escalte).

9) Judge people based on objective results not on "optics". Ass-in-seat time
is a lazy and pointless measurement in most cases.

10) Delegate and empower those under you as much as you can. Lack of
autonomy/ownership are signs of micromanagement, over-control, and poor
leadership/delegation.

11) Accept a truth... your reputation/success as a leader is a direct
aggregation of the success of those under you. If in anyway this is not the
case there is a problem and that problem is you.

~~~
kevsim
Amazing list!

> 9) Judge people based on objective results not on "optics". Ass-in-seat time
> is a lazy and pointless measurement in most cases.

I'd only point out that as a manager one also needs to be aware of the optics
because those can affect other team members. "So and so is never here" kinds
of murmurings need to be dealt with (and dealt with by, as you said, ensuring
that the team judges based on results and celebrates winning together).

~~~
mharroun
Completely agree, I left out the "other side" of leadership, working with
other departments and senior leaders as it seemed out of scope of the
question.

I put "optics" in quotes to use it as a pejorative as I only seen it used as a
strawman. eg. "Your team is never at their desks... it creates bad optics". I
prefer to file that under transparent communication between all sides of a
company.

In one particular case it was a team that 19 times out of 20 hit every goal
and expectation on the product roadmap on time to near 100% ask. As a snarky
and sarcastic asshole my response was of course "Do you want to potentially
sacrifice the fact that we nearly hit every roadmap deadline and OKR in order
to make it "seem" like they are working harder?".

Note: This is based on the startup world... Its never senior management who
does things like this as often all they are about is the company they put
their blood, sweat, and tears into is successful and cant afford the luxury of
ideal "optics". This is an argument/toxicity that comes from less experienced
"leaders" who needs to find fault to make up for their lack of success or are
micromanagers themselves.

------
Twisell
Listen to them, I mean really.

Especially when they suggest organization wide changes to improve workflow or
work environment. Don't be the guy always dismissing suggestions or you can
slowly but surely turn a proactive A player to someone that just do the bare
minimum while seeking other opportunities.

~~~
emsign
This. When I get the impression that my expertise and suggestions don't matter
that's the point when I mentally quit my job. That's always the first step,
the original reason. After that it's only the benefits, good pay and all the
other suggestions named here that "keep" me, but if those weren't there I will
go. So not listening to your employees comes with a heavy price tag if you
want to also keep them.

------
gpmcadam
The long answer, I believe, is to read and take to heart Daniel Pink's Drive.
[https://www.danpink.com/drive./](https://www.danpink.com/drive./)

In short:

1\. give them the ability to apply their own solutions to your problems -
don't force-feed solutions as part of your problems. let dev teams use their
own expertise to collaborate with the business to come up with the right
answer

2\. allow devs to pursue mastery of their field, give them opportunity to
learn and experiment and become great at what they do

3\. make sure that the thing you're building matters to your customers, so
that your devs have a feeling of purpose. nobody wants to ship code that does
nothing, for nobody. start measuring whether you're building the right thing
(see Lean Startup)

People will say 'pay', but I think that only matters up to a certain point. I
don't think anyone leaves a company offering all 3 of the above just because
they aren't paid above market rate.

Best of luck!

~~~
muzani
Pink definitely recommends paying above market rate, though. To quote the
book:

"Type I behavior does not disdain money or recognition. Both Type X's and Type
I care about money. If an employee's compensation doesn't hit the baseline
that I described in Chapter 2 — if her organization doesn't pay her an
adequate amount, or if her pay isn't equitable compared to others doing
similar work - that person's motivation will crater, regardless of whether she
leans toward X or toward I. However, once compensation meets that level, money
plays a different role for Type I's than for Type X's. Type I's don't turn
down raises or refuse to cash paychecks. But one reason fair and adequate pay
is so essential is that it takes the issue of money off the table so they can
focus on the work itself. By contrast, for many Type X's, money is the table.
It's why they do what they do. Recognition is similar."

------
odshoifsdhfs
Pay.

I know everyone says no, I want this or that, but at the end of the day, you
are trading time for money. Only when people have enough money to not worry do
they care about other things, and unless they are were getting 300k+ in a
FAANG company for the last few years and now can live ok for a few years, pay
is the important factor.

If you can't save a penny, even if work conditions are great, people will
change to start building their 401k or to get their kid to a better school.

Then there is also the cultural factor that if a manager asks 'what kinds of
things motivate you' if you just say money, you are branded an heretic, so
people say independence or agency or whatever.

I would say (assuming they have another option of course) more than 95% of the
people here and everywhere would change jobs if they got a 20% payout or
something, so that probably says a lot about it.

~~~
lolinder
The problem with the example of getting a 20% payout is that there are
diminishing returns on each additional dollar. Most software developers make
far more than a living wage. After that threshold is met, most people have a
lot of other things that matter more to them.

For example, for me, I work to support my family. Pretty much any software job
in my area will be able to do that for me, so the bigger consideration in
choosing is which jobs will actually allow me to spend quality time with my
family (since that's the entire reason why I go to work). No amount of
additional pay could persuade me to work 60 hours a week or work in an
environment that leaves me drained by the end of the day.

~~~
logicslave
"After that threshold is met, most people have a lot of other things that
matter more to them."

This is brainwashing. You will spend almost all of your life working, get all
that you can. Its a business transaction, dont live like a slave

~~~
pphysch
It's not just a "business" transaction. That is incredibly naive. There are
implicit health, family costs as well. Chronic stress is real and dangerous.

It is possible to work without putting your real life on "pause" (we age every
moment whether we are present with that truth or not).

~~~
routerl
Business transactions aren't solely financial. I don't think the comment you
replied to is suggesting "focus only on career" but rather "maximize dollars
earned per hours worked".

The "brainwashing" is people who don't pursue or request raises because "I'm
already comfortable".

------
mr_puzzled
1\. Give them flexibility eg- work timings, wfh.

2\. Pay above market rates and promote when it's deserved.

3\. Allow them to retain IP of their side projects. People who want to build
startups will eventually leave, but you can delay it with this. Considering
most people will never reach product market fit, it's a win win.

~~~
midrus
About (2): Not everyone is just chasing money. I know several very good
engineers I'd love to work with which have left to lower paid jobs because
they got tired of internal politics and a bad culture, terrible tools and
horrible projects. I personally value more (1) as long as my minimum for (2)
is meet.

About (3), that just makes things worse in my opinion, people end up working
for their CVs, their side projects, and their future company. You would
certainly retain them, but not sure if that's the kind of people that will
make your company successful.

After a given minimum figure for my salary, I personally would value more WFH,
having good tools, being able to make progress and not feeling stuck because
of bulls??t and a nice manager and team that focuses on getting things done
and shipping. No amount of free avocado would compensate it for me.

So, to OP, (as someone commented elsewhere) just LISTEN to them and ACT to
help them fix what they see wrong. That's it. I'd be surprised if the only
things they want to stay is more money.

~~~
Aeolun
I think it’s more that you can compensate for everything else by just
increasing (2), so if you cannot fix your cultural issues just yet, you can
keep your engineers if you pay them more.

The moment someone else pays them more for a more pleasant environment you are
100% guaranteed to lose someone.

~~~
midrus
As I said, I doesn't work like that for me nor for some other engineers I know
of. There are definitely people which are only interested in money and that's
the main motivator for anything in their life. They're definitely trading
their time for money. I know many people like that and I respect the way they
see their profession. I prefer not to work with people like that, and I
believe those are often times not your best employees. If you tell me I'm
going to earn 50% more than at my current job but I have to wear a suit and
deal with bullshit all day in a toxic environment, I'm sorry, I prefer my
current salary and job. There is no way you can pay for making me will to kill
myself 8 hours a day. Not enough money in this world for that.

------
thomastjeffery
Promote good mental health.

There are so many social dynamics in employment that are detrimental to an
employee's mental health: Arbitrary/unclear goals/deadlines, management not
responding to criticism/feedback, favoritism, career stagnation, overwork,
etc.

The most common reaction to an employee's deteriorating mental health is for
the employer to get confrontational with the employee, and demand that they
fix all the side effects. This just piles an extra stressor onto the employee.
Very rarely is the deteriorating mental health addressed directly.

Employees are not machines; they are humans. Machines work with very tight
tolerances, but humans are better suited to diverse problems. Machines require
physical maintenance, but humans require a different sort.

Vacations can help, but they cannot solve or redeem the day-to-day
frustrations an employee has. Paying well can help, but that is only valuable
if the employee has enough personal time to spend it.

There are external factors, too. When an employee rolls an ATV during the
weekend, and needs a few weeks to physically recover, it's totally normal to
give them that time off; but when an employee is going through a divorce,
losing their religion, etc. it is very uncommon for their employer to even
know, let alone help.

The real goal should not be to retain (hold) employees, but to cultivate a
workplace where they _want_ to attend. Don't turn your workplace into a cult
that demands too much of an employee's time or focus. Instead, make it a place
for people to fulfill their need to work. Make it a place where ideas are
shared, and things are made.

------
Joeri
Agency. Give them control over how they organize their work and their work
life balance, and to the degree possible, what they work on. It can even be
down to little things, like giving them a say in what work laptop they get, or
what ide they use, or what coffee machine is in the office.

~~~
Aeolun
Unless it’s combining windows and mac laptops! Everyone should be on the same
general OS architecture.

~~~
Joeri
I would argue the opposite. You want your developers to be on a wide variety
of OS, browser and screen resolution, to be representative of your users.

------
silvestrov
They want to things:

1) to work with people just as qualified, including managers who are just as
qualified at managing (a rare unicorn in the IT sector)

2) not having roadblocks for doing good work. This includes being kept in the
dark, micro-management, simplistic "all employees have exactly same computer"
policies, workplaces that makes concentration difficult due to e.g. noise or
splatter of meetings, weird requirements which can't be discussed at all and
doesn't make sense.

------
clktmr
Personally as a developer I switched jobs multiple times. Most importantly
because:

1\. I expect to be trusted. If there is no possibility to work from a remote
location and excessive time tracking (e.g. punch cards) because of a lack of
trust, I realized that my work was not valuated at all.

2\. I expect to be able to use my own workflow. If I get micromanaged and am
forced to use buggy toolchains and processes with lots of dependencies, my
productivity will suffer and so will my passion. Define the inputs and outputs
of my work, but not anything in between.

3\. Growth is more important than high pay. I am not talking about a 2% raise
every year. There really needs to be a difference based on performance. I
throw myself into something and get the same pay rise as if I had been
slacking the whole year. This will not lower my performance, it will make me
leave.

------
a_imho
Money. We can argue here all day and pretend it is not money, but it is money.
And I know people don't like to hear it, so it needs to be repeated. Money.
With a capital M. Also applies for any regular employee.

~~~
Goesby
While I agree that money is quite important, but it's not the only thing that
matters.

A few weeks ago I interviewed for a job with a 50% salary increase compared to
the current company I work for. All went well until I had an interview with
the manager. He was the kind of guy I would not want to work with. He gave me
the micro-manager vibe and mentioned a few things that made me turn down the
job.

I'd rather work with a good and nice manager than have a 50% salary increase.

~~~
stunt
> I'd rather work with a good and nice manager than have a 50% salary
> increase.

But as soon as you find a good job with a decent manager that pays 50% more,
you are going to leave.

Actually the moment that you've received that offer with 50% salary increase
you already lost some of your motivations even though you may not notice it
immediately. And you are going to continue lose more of your motivations
because you know that you can earn more.

I think Money is equally important to many other things mentioned here. But
the thing about money is that it isn't the only thing that matters. If you
don't fix other problems, money can only keep your employees as long as they
can't find a replacement with similar pay scale. And even until then they are
going to under-perform.

So Money is important. You can't keep good, motivated, high performing
employees only with a good pay check. But you can't keep them without a good
pay check either.

~~~
Goesby
> But as soon as you find a good job with a decent manager that pays 50% more,
> you are going to leave.

Well yes, I would. But that doesn't mean it's only about money.

> And you are going to continue lose more of your motivations because you know
> that you can earn more.

Partly agree. I know I can do more and be in a role with more responsibility.
If I find a new job as a manager/team lead which pays same or 10% less, I
would actually go for it. Because in the long run I may move up to director/VP
level. So maybe money is important as I mentioned, but it's not the only
thing.

> So Money is important. You can't keep good, motivated, high performing
> employees only with a good pay check. But you can't keep them without a good
> pay check either.

Totally agree.

------
ryandvm
As someone who has been serially un-retainable to the point that I eventually
got tired of it all and decided to take up consulting, here's my advice:

* Pay them their market rate. DO NOT WAIT UNTIL THEY ARE ASKING FOR RAISES. Nothing makes you feel unappreciated like not being fairly compensated. If I have to ask you not to rip me off, the relationship is already on very rocky ground.

* Give them interesting things to work on them and empower them to solve them creatively. Do not micromanage competent people.

* Let them have skin in the game by giving them a non-trivial stake of ownership. Nothing makes you go the extra mile like knowing that doing so is furthering your own success.

~~~
Joeri
_> do not wait until they are asking for raises._

This really annoyed me with a previous employer. They gave me every raise I
ever asked, but they always made me ask, and they never gave me more than I
asked. It took all of the goodwill out of the raise.

~~~
throwaway92657
I'm going through this exactly with my employer right now, they will never
mention a raise until I ask. I'm disappointed, but it doesn't surprise me
anymore.

------
C4stor
Since a lot of good points have been raised already, I'd though I'd mention
something else which have seen happening quite often :

Often times development teams are applying all kind of processes and reporting
are taken accountable for the bug they make, and are overall held to a high
standard of quality. All the company is able to consult the backlog, ask
questions, whatever, it seems good, and they're ok with it in general.

But then, the dev team may very well fell like all the other team are
basically doing the exact opposite. Maybe the sales team will never admit a
single failure to close on its team side, the product one will never admit its
specs were flawed, the marketing will never admit its creatives where
delivered too late, etc...

And that perceived unfairness may be a deal breaker for engineers in my
experience. They don't care for example (or even know) if the sales guys have
to go to nightclubs until 1am to land a deal while they clock out a 6.30pm,
they value visible equality of treatment.

So to retain certains developers, company wide "fairness" may go a long way.
(I use quotes because I'm not 100% sure this is the correct english term).

~~~
ajeet_dhaliwal
I think this happens often and it’s because of a combination of two things.
First the complexity of software development is not well understood by other
teams so they can be fairly aggressive when something doesn’t “work” - like
how could that happen. and second is that programming types also aren’t as
assertive in defending themselves. They take blame and accept responsibility
quickly.

------
maxehmookau
Ask them. Everyone has different drivers.

Some want money. Some want flexibility. Some want to work on groundbreaking
projects. Some want a mixture.

~~~
mping
In short, make them happy.

~~~
maxehmookau
Yup. Although they will know what makes them happy more than crowdsourced
answers on HN

------
luckylion
From my experience, adding to what has been mentioned: get rid of
unqualified/underqualified and lazy employees, because few things are more
annoying than having to work around other people's inability or do their work
if they are lazy.

You can keep the un-/underqualified by improving their skillset, I've not seen
the lazy improved, but maybe that's possible as well.

------
axegon_
From personal experience, and as someone who has been in the same company for
8 years, and have turned down multiple offers, even for a compensation that's
been magnitudes higher, I can list only one thing: The team(or at large
fraction of the team). That's the only reason why I'm still around. Put a
shopping cart wheel on a tank and it will break, simple as that. At this
point, we can easily deliver large upgrades faster and more efficiently than
anyone else. If I were to leave at some point, it will likely be with the
entire team coming along.

So yes, be clear about what the exact responsibilities everyone has and build
up a solid team where everyone fits in.

------
pabs3
Don't achieve profit at the cost of negative externalities; for example
widespread health effects, environmental destruction, financial system
collapse, Internet-wide insecurity, patent trolling, underfunded open source
projects etc.

~~~
dekken_
For the curious.

[https://en.wikipedia.org/wiki/Tragedy_of_the_commons](https://en.wikipedia.org/wiki/Tragedy_of_the_commons)

------
dig1
1\. Paycheck on time.

2\. Be honest regarding company state and finances. The worst thing is that
you tell everything is OK, the company is doing well, and suddenly you have to
lay off half of your staff.

3\. Flexible hours and projects. Development (and solving problems) is an art,
not cranking something like in a factory.

~~~
treeman79
1 late check completely changes the relationship

~~~
Aeolun
1 late check guarantees immediate job searching for me.

------
PostPlummer
Easily said: give them excellent managers.

People don't quit jobs, they quit a boss.

~~~
danaris
I feel like this is sort of begging the question; I mean, what _makes_ an
excellent manager? Why, the things that retain great employees!

~~~
PostPlummer
To me, I like to describe my role as mommy & daddy rolled into one. I need to
take the time to comfort the group as I need the time to correct them.

Since I have had the opportunity to raise my kids, I have grown tremendously
as a manager: I have learned to forgive and to stand fast. To allow for slack
and to demand relentlessness. To treat people as individuals (you might have
guessed I work in IT where rather exquisite characters seem to flourish) and
learn them to enjoy the results of our efforts as a team.

Loads of seemingly contradictional qualities that are required from parents
and very easily translate to people management.

Basically I see my role as a temporary one: you are here with me since we need
each other to reach some goal, and then we will both move on. This might be
short-term or long, but we will separate and I will do my utmost best to
become a better person / employee / employer over time, as I will do my utmost
best to let you grow and fore fill yourself.

Oh and I will try to be having a good time while doing that, since I have ran
out of time to suffer for no reason but suffering.

------
mrkeen
If they want to code, let them code. Facilitate it so they can spend more time
coding.

If they're qualified, they know how to use Jenkins and Jira, when to script
and whether to automate. If you start regulating Jira with excessive rules
(classifying as epic or story, team, feature, sprint, component, DOD,
estimate, only work from top of backlog, etc.) then a dev is is really going
to be disincentivised from using it.

~~~
pc86
Whether or not they know how to use JIRA only tells you whether or not they've
used JIRA, not whether or not they're qualified.

And in my experience, most developers (myself included) will just not use
those tools if they're not required to. And if you have no idea what level of
information you're going to get from an epic, story, bug, task, or subtask
until you know who wrote it, the tool is largely worthless.

------
rnernento
Allow them to put their family first and maintain a healthy work life balance
and they will put up with a lot. Anything you can do on top of that as far as
pay (not necessarily top tier but not insulting) and autonomy/ability to
contribute and be recognized will help. The company and position also needs to
be stable.

There is an army out there of intelligent, qualified individuals ho just don’t
care that much about work. You likely won’t be able to keep people who are
highly ambitious long term without constantly sweetening the pot which usually
isn’t tenable.

Find the right people, treat them with respect and allow work to not be the
most important thing in their lives and they will be with you for a very long
time.

------
Proziam
1\. Pay well

2\. Reward good performance

3\. Give opportunities for internal growth.

4\. Support their other goals (startups, health, lifestyle).

5\. Appreciate them and don't be afraid to show it.

\---

#3 on this list is under-rated, in my opinion.

~~~
pizza234
Although this is (I guess) a bit too generic, I don't get why it's being
downvoted, as the points all make sense.

Point 4 for example ("Support their other goals (startups, health,
lifestyle)"), is basically the same as what the current top comment states as
"1\. Give them flexibility eg- work timings, wfh."

Point 1 is again another one of the top comment's point.

~~~
Proziam
I expect it's because of the redundancy in the posts. My reasoning for that is
my feeling that 'adding on' another thing to keep in mind would have made the
thought too incomplete to be useful on its own.

Either way I strongly feel that giving people a way to move on to the next big
important mission as they progress is the real secret. Humans get bored and
all the bonuses and free lunches in the world won't keep highly motivated
talent from seeking out something they consider 'worthy' of their time.

------
biztos
My ordered list, having seen a lot of departures lately, would be:

1\. Fair compensation, meaning don’t make people feel like they’re suckers for
sticking around.

2\. Team quality, since any move to a new job means you might have to work
with bad people, so if you currently work with good people that’s a huge
hurdle, especially for engineers.

3\. Useful work, i.e. useful for keeping interested, useful for advancing
careers, useful for making the company successful (in that order).

4\. Work environment, so your valued Employees don’t think they’re just
expensive meat on a stick. That probably means less open plan, not more free
food.

5\. Flexibility, because not everyone wants or needs the same thing.

------
gigatexal
1\. Create a professional work environment where people can disagree without
turning into 4chan.

2\. Foster their career growth.

3\. Pay them above market if you can or give them a part of the company in
equity or options.

4\. Generally be a place that people want to work at.

------
travisoneill1
Pay them what other companies would offer to poach them, not some silly set
percentage raise every year.

------
fancyfish
Here’s what has had me looking to leave in the past, make sure these don’t
happen:

Being paid less than the market and not receiving raises in line with my
growth. I got a 50+% raise by jumping ship. If you don’t pay well, people will
jump ship unless there is something very attractive intrinsic to the job (like
working on a niche loved technology). If you don’t offer raises in line with
growth, leaving is the only way for an employee to earn their worth.

Having no vision for the tech org and letting flashy tech-debt laden projects
get the most recognition. There is a tricky balance between fostering bottom-
up innovation and letting “get recognition quick” projects get the focus. Good
engineers who really care about your product and maintenance will be turned
off.

Poor dev tooling. Locked down PCs where devs can’t install the tooling they
like. Centrally controlling the libraries devs can use. Paranoid security that
gets in the way, leading people to give up or build hacky workarounds.

Focusing too much on new features and building up a backlog of bugfixes and
reliability improvements.Not realizing the cost of tech debt.

Allowing nontechnical management to drive technical decisions. Not listening
to those of us in the trenches, who see how things are day to day.

------
glenvdb
No studies or articles to reference, just what I've heard from talking to
people is that workers want to feel like they have _impact_. You have to get
all the other things like pay and conditions correct too, but that should be a
given. Once those are in place, giving people the sense that they're having
meaningful impact will keep them around.

------
usrusr
Stay within reason, don't try too hard. Realize that there are some people who
won't stay no matter what you do, try to identify those lost causes and focus
your efforts on everybody else.

If those who are open to staying see people rewarded, in futile efforts to
retain them, for being almost gone, they will eventually start leaving as
well.

~~~
usrusr
PS: and one more thing: retaining starts with hiring. If your hiring process
strongly selects against those boring people who might actually stay longer
than two years, then nothing will stop the perpetual churn except changing the
way you hire.

------
muzani
From the comments, it's clear that one faction is extrinsically motivated
another another is intrinsically motivated. A healthy company has a mix of
both.

Intrinsically motivated are usually the most cost effective, and don't fight
for recognition, and happy to R&D at night and document their findings.
Extrinsically motivated people are happy to do the dirty, boring work or even
sit in a role where no work is necessary, which would drive the intrinsically
motivated people crazy.

Extrinsically motivated people will leave you for a job at a FAANG.
Intrinsically motivated ones will leave you to do their own startup. You can't
stop it from happening, but just maintain good enough conditions to keep the
medium skilled ones.

------
vmurthy
I had the pleasure of learning two concepts ( part of Herzberg's motivation-
hygiene theory) when it relates to work environments : "Hygiene factors" and
"Motivators" Figure out what the hygiene factors (typically pay, good physical
working conditions etc) are and fix them first if they are lacking. The
motivators are typically industry specific and group specific. Some (in)
formal surveys should help but ensure that people _know_ that their voices are
being heard while you bring about the change.

Good luck!

[https://en.wikipedia.org/wiki/Two-
factor_theory](https://en.wikipedia.org/wiki/Two-factor_theory)

------
david38
Have good managers. People quit managers and bad coworkers more than jumping
for money.

------
cientifico
1) Ensure they trust you, and you trust them.

How, depends on different factors. Without trust on the company, their manager
and their peers and employee will be likely to quit.

Over the years, I observe trust being in direct correlation with 5 kpis:

* How often the word "politics" is being used in a daily base.

* Miss delivery (delivery something that don't fulfill the goal, in features or time).

* Miscommunication/misunderstanding. (The need of repeating the same message more than once).

* How often the word meeting is being used negatively.

* Times conflict was avoided.

Improving this kpis, by techniques mentioned in other comments, in my
experience, will improve trust and employee retention.

------
Whirl
I’d echo what the others have said re: pay and flexibility and add another
point-

Autonomy and Impact- people need to feel like they own their work and that it
matters to someone. Meaningful (subjectively defined) work is an important
motivator in my experience. Creeping nihilism erodes morale and motivation.

I’ve found that nihilism is often caused by broken processes that fail to fix
obvious deficiencies, especially in large corporations. This ranges from
pointless hoop-jumping to get simple software packages to the lack of
accountability/oversight for low-performers and everything in between.

------
pabs3
Switch from a typical corporate structure to a cooperative. In the tech world,
Igalia would be a good example to follow.

[https://www.igalia.com/](https://www.igalia.com/)

------
rbreve
Listen to them. Allow feedback. Ask what they need, some posted pay, but it
depends, Many switch jobs for less pay and better benefits, better culture or
cooler projects.

------
wantsome
Increase their salary. Or, ask them what would make them happy?

~~~
apahwa
there are diminishing returns on salary increases. you should aim to be
competitive but if you raise it too high then people will stay just for the
salary. their motivation changes and they can feel trapped or just start
coasting.

if someone comes to you with a competing offer, you should be open to
negotiation (provided they have done well in their recent perf reviews)

~~~
fennecfoxen
It can't be all just increases in salary, but don't ever stop increasing
salary. You should have a cost of living adjustment, in line with the BLS
regional CPI-U index for the last year, as a _minimum_ , and maybe an extra 1%
just on principle.

This bare minimum will keep you from coming across as super-cheap and out of
touch / unconcerned with their compensation. Remember most employees can get a
bigger raise by switching jobs; your salary increases shouldn't make a point
of making that obvious.

------
scrollaway
Give them fulfilling work where they can keep learning while applying their
skills.

This is on top of all the other sensible advice here such as pay them well,
give them flexibility etc.

------
phendrenad2
Let them code if they want to. Too often programmers get managerial and design
work piled onto them, such as conducting early culture-fit hiring calls and
coaxing the project requirements out of stakeholders.

Some people live for that, and there must be a path out of engineering into
management or PM-type requirements gathering. But if your programmers just
want to be programmers, let them. Hire the boss an assistant, hire more PMs,
whatever.

------
pabs3
Give them copyright over any work that they do that is released under a Free
Software or Open Source license. Make this a standard part of your employment
agreement. Give them an allocated amount of time each week to work on such
projects.

[https://sfconservancy.org/contractpatch/](https://sfconservancy.org/contractpatch/)

------
jamieweb
Allow developers/engineers to use an OS and tooling that they're comfortable
with. There must be choice between text editors, IDEs, browsers, shells, etc.

Also don't try to control this centrally. Once developers have proven
themselves to be competent at operating a computer, they shouldn't be forced
to use a locked-down corporate machine.

------
auiya
Whenever you come up with a hair-brained idea for time/cost-savings at the
expense of your employees? Don't.

------
NumberCruncher
Someone wrote on HN that you can not make all of your employees happy at the
same time. Identify the 20% who gets done 80% of the work and make sure they
will want to work for you in the future and follow you if you jump ship. How?
Build a relation to them based on trust and respect and ask them directly.

------
jeanvalmarc
Pay 10% more than other non-FAANG companies (who are on a different planet)
and offer a real mission and opportunity to make a difference in the
product/world/industry. Make sure there's free coffee, smart people, and no
jerks.

------
sys_64738
Ask them what they enjoy about their job and what they don’t.

------
bdibs
Culture and compensation. Make sure they’re managed well and focus on their
growth as individuals, not only in the scope of your business.

------
notyourday
> What are the best effective measures to retain qualified employees (in
> general and developers in particular)?

Pay them more money.

------
lwhalen
Ever since the Phoenicians invented money, there has only ever been one answer
to that question :-)

------
robotburrito
Pay them more $ than any other place they can go.

------
wikibob
Money.

------
sc_number5
Have seen this go wrong so many times. Here's may take:

1\. As many people have mentioned, pay. Don't invent "noble" excuses, e.g.
'you must want to be here because we innovate so much' to avoid a pay
discussion - those things work, but to a point. Pay matters. You don't have to
pay the highest in the market, although that obviously works. But it has to be
competitive, and hikes/increments should be regular to reward good work. This
_also_ has to be proactive: if someone has already begun to look outside, its
probably too late for retention.

2\. Peers. Smart people hang with smart people. If you staff team A with
qualified folks, but team B has people not as qualified to the point that
collaboration exercises are frustrating, either people from team A leave (they
feel team B gets nothing done) or from team B leave (because they feel they're
being lorded over, or feel team A is working on abstract pointless things).

In general, impedance mismatch at the level of skills or intellect is
something to be wary of.

3\. Bad apples. During hiring you need someone with fresh perspectives, but
still aligned with the culture at some deep level. Its a bit like the
superficial adage we hear about in dating: "opposites attract" \- except they
don't when you start living together. You are on your way to build a
meritocracy, and then accidentally hire this person who wants to "play the
game" to rise up the ranks, ruining it for everyone. Competent, hard working
people don't want to spend time playing politics, and at some point they're
going to reach out to their network to look for better teams.

4\. Be transparent. You don't have the budget to hire the top talent in all
depts? Be honest about it. Don't give out vibes like "we hired X anyway
because we think he's good irrespective of what the interview panel felt" \-
people would eventually figure out that you don't think X is that great
either, esp over candidate Y who got top scores from the panel but you glossed
over, and you're just hiding budget decisions. Welcome, erosion of trust
begins here.

5\. Don't micromanage and stay away from pushing biased agenda down the chute.
I think these are fairly well known. If you hire people qualified to do a
certain job, let them do that job. Don't prescribe minutiae because you found
them hyped up in a blog post. If you want a discussion, set up brainstorming
sessions where you make it clear that you're probably going to come in with
silly ideas to discuss.

One of the best managers I have worked with knew very little about my area,
but one-on-ones were a delight with him because he would have many
questions/thoughts about the project from the perspective of an inquisitive
layperson. It made me want to improve.

6\. Small acts of trust. Instead of conveying what you learned from speaking
to a customer to distilling it to "code features X, Y, Z", expand the
involvement of your team by actually talking about the discussion you've had.
Invite perspectives and suggestions. It tells people that you think of them as
more than just cogs in the system.

7\. Hire empathetic people in the mix. Ego clashes do happen despite best
efforts, and you want people who can diffuse tensions and mediate discussions
between warring sides. I have personally seen the presence of such people help
immensely in standoffs where I believed the only outcome might be a bunch of
people walking out saying "I don't need this s __t in my life ".

------
corobo
Pay.

Ask them.

------
artsyca
There are three main kinds of cultures:

1) superstar centered

2) technology centered

3) community centered

Of these most companies adhere to 1) or 2) and a lot of the suggestions in
this thread reflect that

Nobody has really tried 3) that I know of but it's the best way to get people
to want to stay, duh

This is straight out of "the culture code" by Daniel Coyle

