HACKER Q&A
📣 cryptos

Best ways to retain qualified employees?


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

I'd like to read you experiences and maybe some studies or articles about the topic.


  👤 anw Accepted Answer ✓
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.


👤 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.


👤 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.


👤 gpmcadam
The long answer, I believe, is to read and take to heart Daniel Pink's 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!


👤 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.


👤 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.


👤 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.

👤 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.

👤 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.


👤 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).


👤 maxehmookau
Ask them. Everyone has different drivers.

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


👤 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.

👤 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.


👤 PostPlummer
Easily said: give them excellent managers.

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


👤 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.


👤 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.


👤 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.


👤 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


👤 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/


👤 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?

👤 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/


👤 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 st 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