From my perspective, companies that expect employees to work overtime are doing something wrong. But a lot of the time, that does not get through to people. They think “hours working = features completed”. There’s a lot of scientific evidence against this idea, but it still happens at a lot of places. So I’ve decided to take a different approach with the argument: You should have a “no overtime” policy at your company as a marketing expense.
Despite what some may think, developers don’t like crunch time. That means if word gets out that your company has employees working lots of overtime, it is going to be a less appealing place to work. All other things being equal, a developer would never choose to work at the place with frequent overtime.
You’re going to have to make that up in other ways. For example, your company could be a household name or it could work on awesome projects. But, your company would be even more appealing to work for if it also had a “no overtime” policy. If things are really bad, it may even have a negative PR effect. I’ve heard
heard rumors that Electronic Arts has had death marches in the past. This rumor makes that company extremely unappealing to me and others. The only way I would consider working for them is if I were extremely desperate or hired to turn that culture around. When developers consider your company unappealing to work for, that means you’re going to have to spend more time and money hiring because potential candidates are going to fall out of your hiring process like a loose sieve.
Maybe you think it’s worth it for all the work you’re getting done by putting in all those hours (reminder: check the link above to see how that’s not true). But this is very nearsighted thinking and it will come back to bite you in the end. Eventually, you’re going to have more work than you can handle, and that’s when you’re going to wish you could hire some good developers to offset the workload.
A good developer wouldn’t want to take a job with a lot of overtime unless they were desperate. If you give a good developer a lot of overtime, you won’t be able to retain them for long. Good developers are in high demand and they can easily pick to work at a place that lets them keep a good work/life balance.
Rumors of crunch time will scare them off and you’ll be left hiring the left overs. Those that don’t leave will have lower morale and no time leftover to sharpen their saw. They are going to produce poor quality work that frequently breaks and given your culture, that will just induce more overtime for everyone.
These are not the types of people that high quality talent want to work with. They want to work with passionate people that have more skills than them. If you weren’t convinced that overtime was bad before, I hope this lets you see it from another perspective. Habitual overtime is a bad policy that gives your company a bad reputation. If hiring and retaining good people is important to you, you should avoid overtime whenever possible. In fact, a “no overtime” policy would make your company look even better.