My colleague had that look in his eyes. One I’ve seen in my own eyes many times before.
It had been a long day with a tricky bug, in an important part of the front end.
This particular form needed what we thought was a simple change. As we investigated, we found that tech debt was catching up and it was super hard to trace the execution flow and state changes deep in a tree of React component. The pressure was magnified because this form served many thousands of customers per day. There was no room for mistakes.
There’s no doubt it was important work. The look in his eyes as we neared 5pm was tense, worried and I could tell he was stressed.
The temptation in these situations is to work harder and faster.
But I told him to step away from the keyboard and go home. Or at least for a walk.
I’ve written about stress here and elsewhere. As I’ve mentioned elsewhere, stress isn’t in itself a bad thing. A little stress is useful when rising to challenge. The stress response itself is designed to save your life, and was crucial to the evolution of humans.
I like to think of stress as healthy or unhealthy.
Stress is healthy when:
- It provides motivation and energy to rise to a challenge
- It dissipates after a short period
- It saves your life, metaphorically or physically
- You can frame it as useful and it doesn’t drain you.
Stress is unhealthy when
- It’s chronic, lasting more than hours
- It causes narrowing of thinking, or overthinking, making it hard to let go of problems or see the big picture
- It impacts your well-being, including sleep and health.
I’m going to put it out there and say it – operating from a place of chronic or excessive stress is not good coding practice.
The chronically stressed mind is problem-focused. Thoughts of the stressful situation at hand dominate the mind. There’s little room for perspective. Problems appear bigger than they are, and creative solutions are less easily seen.
One of the answers to people in stressful situations to double down on work. This might work, or even be necessary in the short term. But it’s a sure fire recipe for burnout in the medium to long term. And often isn’t the best solution in the short term
The responsible coder will make sure they are operating from a space where they are:
- Most likely to solve the problem at hand
- Less likely to make mistakes
- Spread a bit of joy and ease throughout their team (ok this last one is a stretch but it’s a nice side effect of less stress)
This means taking care of stress in yourself, and also calling out stress in others.
Just like I did with my colleague. He took a break, decompressed his mind and came back with a fresh perspective on the problem.
People feel cared for when you look after them like this. I know from personal experience.
Earlier this year my own stress levels rose, due to a combination of difficult life events and an increase in work responsibilities.
One of my bosses noticed I was more stressed than usual. He suggested that I extend a planned long weekend into a whole week off.
It felt great! I was super happy that someone noticed that I had too much on my plate, and was happy to help me solve the problem. I came back ready for action, and worked so well with my team that our major client renewed a big contract with us for a year.
Emotional states are contagious. Your stress can and will spread to others, as will theirs. Much as I would tell a colleague who was exhibiting signs of a cold to take some time off, I will ask those who are unnecessarily stressed to take care of themeselves.
Nobody wants to end up burnt out by their work. I’ve seen it happen. To myself, and to those close to me. No matter what you think, no job is worth it.
So here’s my invitation to you. Call out stress when you see it. Help others understand where they are at. And yourself. We can all be more effective developers this way.