While Programming Focus on Productivity Not Hours

Software development can be a tough game. It feels much tougher when influential people from inside the industry insist that working effectively as a software engineer is only possible with extreme hours

Luckily, I’m here to debunk the myth that long hours make great software developers and I’d like to assert that working hard and efficiently beats long hours in the long run.

Here is my reasoning.

More hours impact productivity

I like coding. I have to say that I like coding a lot. Unfortunately, even I have to admit there is more to life than sitting at a computer.

I need time to wash my clothes, look at blogs and do all the other fun stuff I would like to do with my time. 

Unfortunately, when commentators like Uncle Bob insist you need 60-hour workweeks to be professional they forget that we are not machines.

Stanford University, no less, have evidenced this 

“[our observation tells us that] ... productivity during 60-hour weeks would be less than two-thirds that of what it was when 40-hour weeks were worked”

Working 60 hours means you’re actually producing less than during a 40-hour workweek. The Harvard Business Review have come up with similar findings but believe me when I tell you that there are reams of evidence showing long hours just don’t work.

I’ve always found that the work I do after 10 pm is worse than useless, and I invariably need to delete it the next day. The more I moderate my working hours the better quality my work!

Quality over quantity

If you’re hearing that long hours are a good thing you are really missing the point. As a developer who seems to spend too much time in pointless meetings and waiting for the CI to be fixed, I feel like I’m in a good position to tell you that it doesn’t matter how long you spend working, it matters what you do with your time.

We’ve all heard tales of the software developer with 20 years experience who can’t code because they’ve effectively just had the same year 20 times. I can tell you that it’s true as I’m working with them. It’s a problem when people do not push themselves and learn more about their chosen career, and I can say it isn’t because they cut corners or worked few hours. Yet they’re still not a good developer.

A quality-over-quantity mindset can also mean:

  • less rework

  • strong delivery of what you’ve promised

  • a deep understanding of what you should be doing at any point

Even better is the fact that valuing a job’s quality over quantity (hours) matters for an employee’s mental health.

Sustainable development practices

Instead of spending additional hours on haphazard learning, software developers benefit more from targeted, high-quality learning interventions that fit within the regular workweek. This could be through code reviews, pair programming sessions, or dedicated time for online courses and training during work hours. 

You can do this stuff and learn while working normal hours. To put it another way, working 40 hours doesn’t preclude learning. That’s good, isn’t it? I believe that jobs should give you a chance of learning deeply about topics

Focus on what really matters

Instead of fixating on the number of hours, focus on what you achieve during your work. 

I remember working until midnight in the office to finish a feature before a customer was due to review the product the next day. I also woke up and came into the office at 5 am, and I suppose I don’t need to tell you that the customer delayed their review. I felt not only stupid but quickly got ill later that week. The rush last-minute strategy just didn’t work for me, I could have just delivered what I could and then explained the issues with the rest of the code.

Overworking is damaging and can be mitigated with the following strategies:

  • Efficient Learning: Mentors and colleagues at work can help you achieve great results in a limited time. Talk to others and learn from them.

  • Work Smarter: Automate repetitive tasks. Pair program for tricky tasks. Remember that the best line of code is the one you remove, not the one that you write.

  • Maintain Work-Life Balance: A well-rounded life supports better cognitive function and creativity, so you’ll find everything easier. Plus, you’ll find it easier to learn new things and be able to focus on what really matters.

Conclusion

The idea that more hours equate to more professionalism is outdated and potentially harmful. If you were to ask me what really matters in your software engineering career (and you’re here, so I guess you have some interest in my opinion) I’d say make sure you protect your health.

You aren’t a good software engineer without good physical and mental health so put those first. Only then will you be able to focus on productivity and producing great code.

Previous
Previous

Did you know Programmers are Binary?

Next
Next

No Java Required: 10 Energizing Alternatives to Your Daily Coffee Grind