10 Ideas How To Manage Stress As A Software Engineer
Tags: mindfulness, productivity, happiness, stress
Published: 2021-08-25 09:05:25

Developing software can be stressful.

Deploying to production on a Friday evening, knowing the week isn’t over yet.

That deadline for a feature next week, which you haven’t even started yet because there’s no way to extend this undocumented piece of horror without breaking something else.

Or some outside party meddling with your project, changing directions and technologies all the time.

Stress adds up. From different sources and over time.

And you often have no control over outside influences.

But you control how you respond.

This list of ideas is about finding ways to:
- keep your energy levels high
- reduce self-created stress
- free up your mental space

So let’s dive right in!


## ☕️ Take Breaks

Even though it’s called a “Sprint” doesn’t mean you should sprint all the time.
Breaks are important to maintain your energy.

Take small breaks every day, larger breaks every week, and huge breaks every few months.

A break doesn’t mean doing nothing.

It’s better to find the right balance between active breaks (sport, social, creative) and passive breaks (books, TV, chill).

There’s no one size fits all solution.

Find a *balance* that is right for you. Learn to recognize when you need a break. And learn to take a break when you need one.

## ✅ Don’t Take Things Personally (Esp. Code Reviews And Feedback On Ideas)

Feedback about code is just that: about the code.

If someone criticizes your work, whether it’s code, a presentation, or an idea you have proposed, yes, that can hurt.

But if you didn’t get personally attacked, all you received was feedback by someone who cares.

Everyone in your project team (hopefully) has the project’s best interests in mind.

So if you get lots of comments on your pull request, great!

You’ve got an opportunity to improve.

## 🎨 Have Hobbies Away From The Screen

Much of our work happens in front of screens.

Even more so when working remote.

It’s not that sitting in front of a computer is stressful per se.

But if a computer is everything you see all day, you’re missing variety for mind and body.

It’s important to do things off-screen.

So if you don’t already have a regular activity away from screens, try out new things until you find an activity you enjoy that doesn’t involve computers.

_I struggled with this at the beginning of my career, but got much better. Simply through trying things out and finding something fun to stick with._

## 🏃‍♂️ Do Enough Sport

If I don’t move enough, after a few days I feel tired and have little patience.

Physical exercise is crucial to staying relaxed.

Just as your mind benefits from a mixture of high and low cognitive load, it also benefits from demanding physical activity.

Move a little every day and get your blood pumping a few times a week.

Whether you’re running, biking, doing body-weight exercises, Yoga, or weight lifting doesn’t matter if you have no other fitness goals.

Just do something.

## 🧘‍♀️ Practice Mindfulness

Mindfulness is a state you can practice.

It has many benefits, among them: staying calmer, having a higher stress resistance, a lower default stress level, more patience, and more compassion.

Take some time every day (or a few times a week) to meditate and do [mindfulness exercises](https://dev.to/simon_mannes/7-mindfulness-exercises-developers-can-do-every-day-8pl).

If physical exercises improve your physical health, mindfulness exercises improve your mental health.

## ☑️ Keep Tasks On A To-Do List, Not In Your Mind

Writing all to-dos down is one of the greatest methods for productivity and mental clarity I know.

I can barely imagine my life before Todoist, and I cannot imagine my life before learning about [Getting Things Done (GTD)](https://en.wikipedia.org/wiki/Getting_Things_Done).

While GTD has many rules, it’s ultimately a system to help you manage your life clearly and with confidence.

I adapted GTD and continuously adapted it to my own preferences.

Its most important lesson is to write every to-do you have *in* your head down in one place *outside* your head.

Then prioritize and get to work.

## 😌 Don’t Be Hard On Yourself (For Not Making Progress Fast Enough)

For some people (including me) this is difficult.

We make plans for what we want to achieve this week, that weekend.

During a workday, we imagine what we want to complete by the end of the day.

Then we achieve *something*, but not *everything*.

We feel bad.

It helps me to remember that there’s *always* more I could do.
More tasks I could complete and more plans I could make.

I had to learn to be content when I only finished my highest-priority task that day.

And if I didn’t complete it, it was probably too big for one day, anyway.

Don’t be hard on yourself. Be proud that you even did *anything*. That already sets you apart.

## 🤷‍♂️ Learn To Say “I don’t know, but I’ll find out and get back to you”

Some people get defensive when you ask something they don’t know.
They don’t want to admit they don’t know the answer.

Exams in school work this way. But our lives don't.

“I don’t know” and “I haven’t made an opinion on that” are perfectly valid answers.

As long as, in a professional context, you add “but I’ll find out/think about it and come back to you.”

You don't need to know everything on the spot and you're allowed to do research.

## 🙅‍♀️ Learn To Say No

It’s easy to say yes.

“Yes, I’d love to write that report.”
“Yes, I’ll finish that feature by tomorrow.”

But how often do you say yes and regret it afterwards?

If you say *yes* to something, you say no to all the other things you could have done in that time.

If you say *yes* to everything, your to-do list will grow to a point where looking at it will make you sick and you could never possibly complete everything without external help.

It’s okay to say *“no”*.

And it’s okay to say, “Not now. Can I come back to you when I’ve got the time?”.

## 😎 Accept That You Can’t Know Everything And Sometimes Need Help

Don’t feel embarrassed if you don’t know something.

1. Nobody knows everything
2. Everyone started as a beginner

If you stress out because you don’t know everything you need for a given task, relax.
You can just close this knowledge gap.

Find out if the internet knows anything relevant.
Read the documentation.
Ask your colleagues.

Good coworkers know this and give you the time and space to learn.

Great coworkers challenge you and give you the support you need.

Nowadays, there is so much more to learn than one human could ever learn in their lifetime.

Take one step after the other, in a direction you find promising.

## Take A Deep Breath

Mindfulness helps me become a better software engineer.
Practicing mindfulness is for the mind like physical exercise is for the body.
For me, it improves clarity, focus, calmness and compassion.

---

Interested in more mindfulness content for developers?

⬇️ Subscribe to the weekly Nerdful Mind newsletter!

[Subscribe to Nerdful Mind](https://www.nerdfulmind.com/newsletter/).

_I'm also on [Twitter](https://twitter.com/simon_mannes) if that's your thing._