Ask HN: Why/How are some companies better at retaining developers than others? See title :) |
Ask HN: Why/How are some companies better at retaining developers than others? See title :) |
They take care of their engineers knowing they keep becoming more valuable to them so risking them leaving to another company or burning out for a few extra hours is a bad idea.
They don't get greedy with their "optimisation" of human effort. They let people work at a sustainable pace and be happy for as long as possible.
On the other hand some companies have a "oh crap the timer is ticking and we're going to have to squeeze every last drop of productivity out of you before you leave this hell hole" attitude.
They have a "resource to be used up and thrown out" attitude about people.
It gets them into a vicious cycle which only makes their behavior worse.
Is the company fair? Do they prevent you from taking sick leave when you are sick? Do they pay a little less than they hinted? Do they compensate you for travel time if the office is in an inaccessible area?
Is the company an exciting place? Do you feel good, feel proud of being part of the company? Does the company do things that you're embarrassed of? Are the projects meaningful?
Does management trust its developers?
Developer jobs are in high demand, so a good employee isn't going to stick around if management doesn't show that they trust them. Some evidence of a lack trust:
- strict deadlines unrelated to customer needs - very detailed and strict reporting - frequent meetings to discuss progress on milestones - strict work hours - limited "work at home" opportunities
Developers like to get in control of their codebases, so non-technical management stepping in too often can kill productivity and this job satisfaction, which can lead developers to look elsewhere.
Examples of progressive management: Good work from home policy, lack of 70's butts in seats mentality, no death marches, no stack rankings, a no-assholes policy, leadership with a vision, legal carve-outs for your side projects, evaluation based on achievement rather than superficial factors.
All things being equal, those things keep me around. Without them, I'll be looking.
The moment you realize that managers don't get software, you either leave or not be as productive as you could.
I wonder about this. If by "work" we define coding and code-related activities (code reviews, learning new tech etc.), then I don't think I can sustainably pull anything close to 40 hours per week. 25 (or mayyybe 30) sounds like a more realistic number.
Judging by what happens in the companies I've worked at, i.e. people slacking off for significant portions of the day, or sitting in meetings (which is usualy not nearly as tiring as coding), I think that's probably the norm. What we're missing is the companies acknowledging this fact instead of insiting on the arbitrary number of 40 hours per week. Few things are more frustrating than having to occupy a chair at work when you know you're already spent for the day, and could be already at home recharging for the next day.
So I would say companies that continuously review compensation according to market and employee evolution would be better positioned to retain developers.