Software Developers + Time = Burnout (& How to avoid it!)

  • by

I was a guest on Vasiliy Zukanov’s Youtube show a few days ago & amongst the many thing we talked about, one of the topics that came up was burnout. It’s a big topic in the software development industry, mostly brought up in the context of the demands of working in big tech (think FAANG), but it affects a lot of developers— especially since remote working has become the norm.

I’ve seen developers on the same projects as me working overtime, evenings, weekends, answering non urgent phone calls at 8pm, sending Slack messages at 11pm — getting stressed and slowly working their way towards burnout, without any tangible benefit if they didn’t do all those things.

Meanwhile I’m working multiple contracts a year (sometimes simultaneously!) whilst intentionally avoiding burnout, producing the same amount and quality of work as my colleagues, with none of the added stress some of them endure.

So how do you avoid burnout when working remotely? Here’s my top 5 tips.

1 — Set boundaries.

This is easily the number 1 thing to avoid burnout. Boundaries.

Firstly, there needs to be a cut off time after which, you’re not working. You’re not on Slack. You’re not answering phone calls. You’re just not working.

Now I know some people, especially those who’ve already formed this bad habit of always being available to their employer, will find this hard to do — so here’s a little hacks to make it a bit easier.

In Slack (or Teams if you have the misfortune to use that 😀 ) — set your Do Not Disturb to come on at the time you finish work. So for me, DND comes on at 5.30pm & goes off at 8am weekdays, while on the weekends, it’s always on. The beauty of this is when people go to message you, they’ll see a message that says you have DND on, and they’ll know whatever they send, you won’t see until tomorrow. They’ll also have the option to push a notification through and bypass DND, meaning that person will have to think to themselves is this message worth disturbing you outside of your working hours, so most people will generally only push the message through if it absolutely can’t wait until tomorrow. All the while, no one feels like they’re being ignored because they know, until you start work tomorrow, you won’t have even seen that message let alone have ignored it.

Secondly, don’t answer work calls on your personal phone. I’ve worked for people who will call at 7.45pm to tell you they’ve just found a bug, while testing your work, for the current sprint. Obviously not an urgent call. Now while my colleagues would answer these calls — I would not. In fact, I would never answer any call on my personal number from work because I feel like it sets a bad precedent. We have Google Meetup, Slack, Zoom, Teams etc for work calls, my personal phone number is not one of them.

2 — Take time off.

Taking breaks away from your screen is something that was easy when we all worked in an office, people would go get coffee or have a chat with colleagues. Working from home oftentimes means getting coffee is a 2 min activity to the kitchen, and chatting with colleagues happens on the exact same screen where work happens — so we never really have a break.

My solution to this as a contractor is to take long sustained breaks between contracts, a month at a time usually, either to travel or to just take time off.

However if you’re not in a position to do that then simply take regular breaks from your laptop, whether it’s a 20 min break to watch some Netflix or it’s a 20 mins walk round the block (I advocate for the latter but have been known to do the former) — anything to get you away from “work” and give yourself a moment to relax.

3 — Don’t work where you live.

Now this may seem counter intuitive, we are after all, working from home. However what I’ve found extremely useful when working from home to have a dedicated space where you work, and it shouldn’t be where you also relax.

The reason being it’s much easier to switch off from work when you’re not at work, and by having a space in your home which is dedicated to work, it makes it easy to switch off from work when you’re not in that space. Plus it also makes it much easier to get into work mode when you have a dedicated space for work.

If you have a home office, then you work there, and only there, and when you leave your office — you’re no longer at work. If you don’t have a home office, maybe pick the dining table, or the kitchen. Anywhere where you wouldn’t normally be using a laptop, so when your work day is over, you can close your laptop, put it away and be done for the day. In our previous home I worked at the dining table, which was in our living room, but the fact that I worked at the dining table meant when I was done for the day, and I went and sat on the sofa, I didn’t feel like I was at work because I never worked on the sofa. And no one’s going to mistake their plate of food for a laptop at dinner time!

The key thing is if you can separate your work space, from your living space, you’re much less likely to just check that email or just finish that piece of work.

You can relax.

4 — Finish on time. There’s no prize for finishing early.

Many times I’ve had the experience where as a team, we’re asked to estimate a piece of work, let’s say we decide it’ll take 5 days to complete. Then, when it comes round to doing the work, the project manager has decided we’re going to finish it in 3 days because someone has moved the goalpost to get it released, and the PM has promised it’ll be ready on time.

Now for a lot of the developers I work with, this is a stressful situation that’ll involve working evenings and maybe even weekends to get it done. Not for me.

Why? Let’s say you’re buying a house, and your offer of $100,000 is accepted. You go through all the lawyers and paperwork and on the day you’re about to transfer the money and take ownership of the house, the seller informs you they’ve decided they’re going to buy a bigger house than they originally planned, so you need to give them $150,000 for the house, instead of the originally agreed $100,000.

In this situation, I imagine most people’s response wouldn’t be to scramble to find an extra $50,000 to give to the seller. So why do most developers scramble to meet a deadline because someone in the company decided it needed to be done faster, after it was agreed it would take a specific amount of time?

Assuming you didn’t dramatically overestimate the initial work then there’s no reason for anyone to assume it can be done faster, and therefore it’s not going to be done faster without the detriment to your work/life balance and your mental health.

If you agree to a deadline, meet the deadline. If your higher up’s decide you need to work faster because they’ve moved the deadline — tough.

5 — Other people’s job pressures are not your own.

This is also something I see ALOT. Your manager is stressed because their manager is putting pressure on them to make you work faster because their manager has decided this 6 week project is going to be delivered in 4 weeks because their manager has pulled a 4 week release date out of their ass.

So now the developers are stressed because they’re taking on the pressure from the PM etc etc. It’s not a good place to be. However it’s pretty common, especially in startups, and the main thing here is — don’t take on someone else’s job pressure.

If you work hard, during reasonable work hours, and that means a deadline is still going to be missed. That is not your fault, or your problem.

You’re responsible for coding to the best of your abilities. You’re not responsible for the products overall success. Or whether your manager looks like a rockstar. Or their manager looks like a genius. Or the founder looks like the next Zuckerberg.

Be responsible for what you’re responsible for. Leave the rest.