I avoid working overtime as much as possible. Working overtime can make our work less enjoyable, cause more errors, and lead to burnouts. The need for working overtime often is a symptom of deeper issues, such as immature planning. I prefer investigating and fixing root causes over using working overtime as bandages.
But sometimes working overtime is inevitable. Things change fast. Although many deadlines are artificial, there are hard deadlines with direct impacts on the business and the team that might worth working overtime for.
I faced this dilemma last week. The resourcing of my project changed, and I needed to replan the whole project. I wanted to get the replanning done as soon as possible because there were many external dependencies that might get affected by it. But I was also on-call last week and certainly didn’t have any time allocated for the replanning. I would need to work overtime for the replanning. It’s not required, and I tried to talk myself out of it. I debated with myself for over an hour1 and decided to put in some extra hours because I realized I wouldn’t be able to stop thinking about it until it’s done. It was better to get the work done and move on than pretending to not work while all I could think about is work.
I asked a senior colleague for advice about what to do in cases like this, how to protect your personal time and prevent burnouts when there are hard deadlines requiring working overtime. When I heard his answer, a lightbulb went off in my head. I could have saved that hour of internal debating if I had his perspective. His answer: “Not working overtime, but working flexibly.”
Here are the key points:
After your best judgment, if you think working overtime will have significant benefits for the situation, go ahead and put in some extra hours. But be careful to not make it a norm. If you are leading a team, explain to your team the reasons made you decide to work overtime. Even though you might be the only one putting in extra hours, it’s important that you communicate clearly with your team that it’s an exception and not the norm. Otherwise, you might send the wrong message to the team. After someone works overtime, they could take some time off to reset the balance. But we should still strive to keep the number of overtime hours we have to put in low. As a result, the number of needed time-off hours afterward should be low as well. Otherwise, if we have many overtime days following by many time off days, it’s no different than sprinting and pausing, which could lead to burnouts.
- make it clear to the team that working overtime is neither expected and not the norm.
- keep the frequency of working overtime as low as possible.
- after working overtime, consider taking some time off to rebalance, even just for a half day or a day.
- when working overtime is unavoidable, try to keep the overtime hours low.
I like my colleague’s “not working overtime, but working flexibly” mindset much more than my previous “not working overtime” mindset. The “not working overtime” mindset is too ideal and doesn’t help me cope with surprises from the real world. You might think it’s absurd that I spent so much time thinking about what to do. You are right. Overanalyzing and indecisiveness are definitely problems I need to work on.
My career plan for the year is to grow into a tech lead. I’m excited about all the learnings ahead and would love to share this journey with you in a brutally honest fashion. I will be sharing my weekly learning on the blog.
In the next few months, I will focus on growing in the following areas. You can expect to see posts related to them:
- focusing on the big picture of the project instead of near-term implementation details;
- balancing my efforts between leading projects and coding;
- work-life balance for long-term productivity;
- the human side of software development: making sure everyone riding with me enjoys the ride and feels fulfilled and inspired.