A Quick Guide to Emotional Self-Care for Programmers

Written By Daragh Byrne

One of the interesting things about humans—indeed, a defining characteristic—is our capacity for self-awareness.

In any given moment, I can tune into what I’m experiencing and tell you something about it. 

The elements of this experience might be categorized like this:

  • Thoughts: pictures, words, memories that exist in the mind.
  • Physical Sensations: aches and pains, discomfort, pleasure, energy, and so on.
  • Emotions: the world of feelings where the physical and mental intersect.

Each of these elements of experience is important in its own right. Thoughts are particularly important to a programmer—we turn thoughts into code. Physical sensations often alert us to the potential for harm (for example, pain) or urge us to satisfy some basic needs (for example, hunger). Feelings impel us toward action, provide color in life, and serve deep evolutionary purposes. 

There are many stereotypes about software developers. A common trope is the idea that we are emotionless, completely rational robots. I always wondered about this one because it was very far from my experience. 

I’ve written about thoughts a lot previously. Today I’m going to tackle emotions. I’ve had to learn to work with my own emotions over the years, mostly because I didn’t know how to regulate them properly. My slightly out of control emotions would sometimes get in the way of my life, including professionally. Often I would experience intense anxiety (which is an amplified version of the emotion of fear). 

I’ll start by examining what might be a range of emotions experienced by a developer in a regular day’s programming. I’ll then share three strategies I’ve used to help manage my own emotional life. 

I acknowledge that people will have different experiences with their own emotional lives. What I offer here are principles that I hope many people may benefit from, although your mileage may vary.

The Rollercoaster of Emotions in a Programmer’s Routine

Imagine I have a chat with my boss or a stakeholder, and I’m asked to take on a programming task. Here’s a run through of the typical sequence of emotions I might experience.

First up, curiosity. I feel like I want to know more about the task at hand, who is involved, and what the scope is.

This is quickly replaced by self-doubt. This is a common one when faced with a new task for me. I feel like I won’t be able to complete the task at times. At its worst, this can turn into a feeling of dread.

Once I’ve overcome self-doubt (a huge source of procrastination for me), I start to feel determination to complete the task. I often harness this feeling to start making some actual progress. 

Often, I’ll hit periods of flow as I make progress (which might include positive emotions like joy and satisfaction). Sometimes when faced with particularly tricky problems, I’ll get tipped out of flow and end up in a place of frustration—off I go down the stack overflow rabbit hole …

Sometimes self-doubt makes a reappearance at this stage—it sometimes cycles into self-blame and activates my impostor syndrome at its worst.

As I get closer to the end of the task, I’ll often feel hope at the prospect of it being complete! Perhaps even confidence in my own abilities. 

Then it’s demo day. What happens next is dependent on how the demo goes! If all is going well, it’s a feeling of success at a job well done and more satisfaction in the work. If there are issues, there might well be more frustration, disappointment, and even anger

I’ve identified 13 different emotional states in this one example. You might identify fully or partially. Or perhaps it doesn’t ring true for you at all. Whatever the case, it’s imperative to learn how to work with your emotions. 

Working With Your Emotions

I don’t want to denormalize emotions or suggest that they are something to be avoided or subdued. Emotions are pretty low-level hardwired human responses. For most of us, there is no way around them—although everybody is wired differently and the range of responses experienced varies from person to person. 

Learning to work with your emotions brings two immediate benefits that can improve your quality of life. Firstly, you can learn to amplify helpful or pleasurable emotional states. Secondly, you can learn to work around, or harness, difficult or unpleasant emotional states.

Most of us will enter difficult emotional states from time to time. I consider difficult emotional states to be states in which your emotions are interfering with your goals or desires. 

For example, intense bouts of self-doubt can cripple your ability to get any work done. Likewise with excessive anxiety.

What follows is three strategies that I’ve found useful for managing my own emotional states. I call them Name and Regulate, Put It Into Words, and Cognitive Defusion. Let’s take a look at them, one by one.

Name and Regulate

Naming an emotion can help you take some of its power away. 

Learning how to do this involves training yourself to recognize when a particular emotion or mixture of emotions are present. 

I’ll dive into this a bit more deeply in a subsequent article, but many of us notice the presence of emotions via sensations in the body.

For example, when I’m anxious, I’ll feel a knot in my stomach. When I’m joyful, I feel a lightness and a sense of energy moving in the center of my chest. When I’m sad, there is a sensation of heaviness behind my eyes. 

(If you want to learn how to do this, learning the body scan technique from mindfulness meditation will help).

Being able to say “anger is present” is useful because it takes some of the confusion out of my state of being. I’ve become aware of what I’m feeling, which lets me shift toward a more logical mode of operation.

I’ve built up a catalog of relationships between my physical sensations and my emotional state. So can you! The way particular emotions show up across cultures is remarkably consistent—I recommend taking a look at this article and examining what’s true for yourself. 

Once you’re able to notice and name your emotional state, you can do one of two things:

  • If it’s pleasant, or useful in the moment, you can simply savor the feeling.
  • If it’s not currently useful, you can take some action to regulate the intensity of the emotion.

Savoring is self-explanatory. We all want to feel good. So when we do, we can, and should, enjoy it.

Regulation techniques include putting words on the emotion (I’ll get into this in the next section) or practicing other techniques that will help you dissipate the intensity of the emotion. Exercise is usually very useful for me. 

I’ve also found the mindfulness techniques that I’ve developed throughout my meditation practice invaluable in these regards.

Put It Into Words

As developers, there’s generally a need for us to rely on our reasoning mind—the clear thinking part of ourselves that allows us to turn ideas into code. 

When we’re intensely emotional, it can be hard to access this part of ourselves. 

Constructing sentences in our language of choice can help to tip us back into this mode of operation. Putting words onto our emotional experience can help us make sense of them. 

I use the following sentence structure. It has the effect of honoring the fact that an event took place, but placing the responsibility for your feelings squarely on yourself, where they belong. 

When (something happened), I felt (emotion).

There are two ways you can do this:

Let’s face it; it’s good to talk. Humans are social creatures, and we’re designed to help one another (we’re naturally tribal). So find a human you trust—a friend, co-worker, or other person in your life—and let it out. You can feel quite vulnerable opening up about your emotional state if you’re not used to it. But if you pay attention to what others are saying to you, you’ll find it’s actually quite common.

Don’t be afraid to use a therapist if you find yourself in particularly tricky emotional territory on a regular basis. I do and it’s invaluable.

A complement to this is journaling or any other form of writing. One of the first things I do if I find myself upset or joyful about something is to reach for my journal. It can be a less vulnerable way of working with my emotions than speaking to someone. 

Cognitive Defusion

One of the reasons we can be so thrown out of whack by our emotions is that we identify with them so much.

At their core (and I’ll follow up on this in a later article), emotions are simply sets of sensations that give us information about the world around us. However, we have a tendency to identify with these sensations as if they were somehow “us.” 

We say “I am angry” or “I am sad.” By using this phrase, we become these emotions. 

A trick from mindfulness/cognitive psychology that I use is called cognitive defusion. 

Rather than using “I” statements in relation to emotional states, use the formulation “(emotion) is present.” For example, if I’m experiencing anger, I can say “anger is present.” 

Try it and see what works for you!

Working With Your Emotions Makes You a Better Developer

Emotions are a rich part of life for most of us. They can add color to life, and equally they can get in the way when they become out of control. Learning to identify our emotional states, put them into words, and defuse from them are excellent ways of working intelligently with emotions. 

Learning to work with your emotions can make you a better developer. Understanding yourself can help you develop empathy and your overall soft skills, so it’s an exercise worth undertaking.