This article was authored as a contribution to the Honeypot Cult Community- you can read it there too!
Software Engineers are puzzle solvers, but the puzzle isn’t pieces that fit together in the real world. Instead, it’s breaking down user stories, feature requests, and bug fixes into smaller chunks and solving them without breaking previously solved pieces. Imagine a puzzle that was ever-changing, the pieces changed sizes and shapes, new pieces were introduced with colours that don’t match expectations or assumptions when first putting it together. Your job is to continuously put the puzzle together.
In essence, Software Engineers do this every single day.
But, that’s just the tip of the iceberg when it comes to being a Software Engineer. We don’t work in silos and we certainly don’t make all decisions on our own, that’s where our team comes in!
Similar to any group of people trying to solve a challenge, there are sometimes disagreements on the best path forward. That’s why soft skills are an imperative part of being a great asset to a dev team. It can also be a huge stressor as we aren’t trained or taught how to be a great teammate or communicator in our Computer Science or Bootcamp classes. Developing features effectively takes hard work and strong leadership from members of the team.
These two pieces, completing the changing puzzle pieces and working with a team are both gratifying; also, they can be very stressful.
Deadlines increase the pressure of our work. Bugs or writing tests might cause dates to be pushed because our misjudgment caused an underestimated workload.
It happens - that’s why they are considered estimates - but too often they are treated as final, no ifs, ands, or buts about it; engineers must do what it takes to meet them for strong annual reviews that influence their compensation. 2020 added its own flavour to the stress recipe, dealing with a pandemic and working remotely became the new normal.
Teams that functioned in-person adapted to remote work quickly, striving to find productivity and collaboration without a whiteboard or real meeting rooms. For many of us, our socializing needs haven’t been met, and while we feel stuck in our apartments, healthcare workers take on the brunt of it with their diligent work ethic as they help save the world.
It’s not always fair to compare one’s problems to another since we all know you can’t compare apples to oranges. Regardless of the severity of one’s problems to another, how privileged one is compared to another, at a basic level, we all must take our mental health seriously!
I hope to help you do just that with a few simple ideas that can help you maintain good mental health as a Software Engineer!
1. Handling Imposter syndrome
Imposter syndrome boils down to believing you are not qualified for the position or work you have credentials for. It’s a common challenge in tech due to its fast-paced always changing nature.
I’ve written about it in the past: check out Battling Imposter Syndrome by Understanding the Dunning Kruger Effect to learn more!
2. Take breaks
Have you taken a short walk with or without headphones in the past few months? If so, think about how you’ve felt afterwards. Did you feel any different?
When learning we would be working remotely for the foreseeable future, our organization organized a How to Transition to Working From Home Lunch & Learn to help ease our transition. Taking breaks, real breaks, not making coffee, or grabbing a snack while looking at your computer screen truly makes a difference in productivity.
Breaks are key when weight training or when I was attending practices for high school athletics. Our body needs time to recover between sets within a workout regiment, without them, our muscles are depleted of energy, and our reps in later sets suffer.
Similar to our physical body, our brain too needs breaks.
Software Engineering requires intense concentration, knowledge, and patience. Our frustrations while solving a tough bug or angst when user error feels like computer error should not be taken lightly. We need time to recover throughout the day!
There are many different options here, so I’ll talk about two.
Option 1: schedule two 20 minute blocks on your calendar; one in the morning and one in the afternoon. This is your get up, walk around, listen to an audiobook, read a paperback book, meditate, or free up your evening by taking up house chores time. You can literally do ANYTHING you want during this time except for work and looking at a screen.
The productivity gains from this can be felt immediately when getting back into the zone.
PS: sometimes we have to reschedule or miss a break, it happens. Forgive yourself and work on doing so the next day.
Option 2: the Pomodoro technique (nifty timer for this). This technique breaks productivity sessions into three different time blocks: 25-minute work sessions, 5 minute short breaks, and 15 minute long breaks. Take four 25-minute work sessions with short breaks in between. Follow the fourth session with a long break. Repeat!
3. Friends and Family
The pandemic has introduced a significant challenge for seeing loved ones on our usual cadence. Instead of holiday get-togethers or watching nieces and nephews play sports with members of the family, we only have virtual opportunities that our brain knows aren’t the same.
Still, the rejuvenation and refreshed feeling after catching up with your close friends or family (or both) can’t be discredited. There’s something we feel all the way in our bones when we’re with the people we love and who love us most.
I’m not recommending calling someone or catching up with every person every day. I’m encouraging you to schedule a time for these important people in your life every once in a while.
The feeling of closeness in tough times goes a long way - let’s not take on these challenges alone!
4. Practice Mindfulness Meditation
We live in a VERY busy world full of so many different types of noise at one time. Coding while slacking, reading while responding to text messages, walking while listening to music. We rarely focus exclusively on one thing! When do we sit down and give ourselves the time required to listen and observe our thoughts, accepting and understanding them with patience instead of avoiding them?
Many of us don’t. We quickly can see why practising mindfulness has become so popular.
From Benefits of Mindfulness at HelpGuide: “Mindfulness is the practice of purposely focusing your attention on the present moment—and accepting it without judgment. “
Taking time to practice mindfulness slows us down, granting us the ability to reap all of its benefits! What benefits you ask? Check out these to read all about it:
- New York Times - How to Meditate
- Getting Started with Mindfulness Meditation
- The Benefits of Mindfulness
An important part of mental health, believe it or not, is exercising (learn about the Exercise Effect). Weird right? How can physical activity help out our mental well being?
Exercising requires discipline, which means accomplishment by sticking to it. That accomplishment releases dopamine, making us happier. It relieves stress and keeps our heart working as it pumps blood through our bodies. Software Engineers typically sit throughout most of our day, so we must combat the effects on our bodies for doing so.
Whether you’re hitting the gym with an intense routine or not, at the very least taking smaller walks every evening or a few times per day rejuvenates us and improves our well-being. Check out the Mental Health Benefits of Exercise for more information on why some exercise is better than none.
As a New York City dweller, the difference in the number of steps per day taken this year versus last year has been night and day. From at least one-to-two miles walked every day to less than one because the forcing function of a commute has evaporated.
There has been no better antidote than grabbing a mask, putting on my headphones, and loading up an audiobook as I gain knowledge while exercising - true concurrency at its finest!
6. Hobbies / Passions
This has the fundamental idea of taking time away from your required obligations to do the things you love. It is your guilt-free, do whatever it is that makes me feel joy time of day!
This can be reading Fantasy books (Stormlight Archive anyone?), binge-watching The Mandalorian on Disney+, or just lurking your favourite subreddits.
It can be woodworking projects, making music, playing video games, or creating a wonderful home-cooked meal. The options are endless and the only requirement is that you are happier after the activity has concluded!
Giving myself time to be happy and enjoy the little things in life has made a large impact this year. If my body and mind didn’t feel productive and motivated to write or work on side projects, I listen to it.
When your body and mind require time to recharge, it is so important to listen. It will make the words or code come easier when you get back to it! Our minds need time to cope with the huge changes in our daily life, and that is totally ok :)
Software Engineering jobs can be stressful, full of pressure to deliver tough tech challenges by the project deadlines. Further, finding solutions to ghastly issues drains our brain’s energy day after day. Our soft skills and interpersonal skills must remain sharp because collaborating effectively brings about better results.
In fewer words, being a Software Engineer can be exhausting, especially for our minds.
It’s easy to see based on that conclusion the importance of mental health.
Taking time for self-care to recharge and enjoy life outside of our work makes us better engineers. It rejuvenates us. It makes us more productive. And it makes work more fun. All of which makes developers happier!