Coding & Mental Health, a journey: Part 2 -Boundaries & Burnout

Ah, welcome my fellow red pill devourer. We have much to do.
To quickly recap, in my last blog post I began to unpack the following:

Why are we always so quick to focus on solely developing our coding abilities FIRST rather than our ability to thrive in itโ€™s environment? Why are WE, the creators of code; secondary, at all?

2020 has thrown us a massive curve-ball, and like most – we’ve all been juggling with some feelings of discomfort for an extended period of time. So many people are working from home now, (or hunting from home aka the unemployed who are feeling invisible as well as isolated) and there is a collective that’s formed that shares one undeniable experience:

The time and space we have with ourselves has exploded.

And for some people, that time and space has been quiet, enlightening and a space for growth.
For others it may be a maddening silence that’s forced them to look inward into a self they did not realize existed underneath all the noise of their regular daily lives.

I imagine the work life balance has taken a tremendous hit for a lot of us. It takes time and practice to learn how to draw boundaries; however now we’ve been flung into this situation and very few of us are actual experts at keeping work and life separated.

I feel like boundaries and burnout go hand in hand for programmers.

Programmer minds are constantly in focus or big picture mode. Zooming in and out, adapting to changing requirements while racing to get tasks completed for the upcoming sprint.

If we do not draw boundaries where we can respect ourselves, burnout is simply inevitable. Just like how your knowledge of object oriented programming is required for your dev job, so is your ability to keep burnout at bay, and tough luck – the company you work for or run, will rarely help you achieve this.
You’re the only one who can draw those do-not-cross lines.

So let’s draw some lines shall we?

The separation boundary
With everything synced to our phones, we’ve made it easier to be on-call even when it’s not a part of our current job descriptions (If it is a part of your job description, you have to be 5x more careful). We drop whatever we’re doing for the “ding” and then we get caught up reading an email or update related to work on “our time”. Sometimes we go back to our computers for a “quick fix” to get it out of the way too.

The culture of loyalty in our capitalist society is great for the company we work for, but toxic to the humans we are. You are compensated for the work or service you provide, and it should be nothing more, nothing less. You are not a slave to your work. And doing what your job requires of you and nothing more is not selfish, it’s mindful. Now before we get ahead, I would like to point out that I’m not saying do not take initiative or connect emotionally with the work you’re proud of. Please do so, but do so with your eyes wide open and please, research labor laws if you have not already. You can be a hard worker, dependable and know the law too. I highly recommend it.

Take advantage of notifications and do not disturb settings that exist on your phone and/or apps. Go through them and figure out how they work. Experiment. BUT here’s another idea I propose that most of you will not like:

Also do this for your social media apps.

The more you are drawn to your phone, the more tempted you will be to check up on things (especially if you have workaholic tendencies). You can take it a step further and create multiple user profiles on your phone. One for your life, one for your work.

Coding is like a weightlifting activity for your brain, no joke. As healthy as your relationship with it may be, sometimes you need to hard-core your separation. Think vacation days. If it’s reasonable and you’ve planned for it in advance, taking an extra Monday or Friday and padding your weekend can do wonders for you and the future you who returns to work. Trust me!

Regardless of how well we separate ourselves with what we control, there will be times when we are pulled in by others who tread lightly on boundaries or don’t even realize we have them, that’s where this next boundary becomes increasingly important.


The vocalized boundary

This is by far the hardest boundary to conquer and requires us to dig deep and really bring out our diplomacy and communication skills. Most of us fear the judgement that may come with communicating what you can and will not do (Notice how it’s not cannot do, it’s will not do, it’s an important distinction). Like a first impression, forming a vocalized boundary the first time you think they are being walked over is also a determinizing factor for if you’re successful in getting others to respect it.

Here is an example: Friday evening, you’ve just packed up and are getting ready to leave:
Supervisor:
Hey, our client just dropped new design requirements.
We are going to need it in for testing asap. Most of the team is staying behind.

Respond with:
Okay, today I’ll only be able to stay behind x-amount-of-time, as this is very short notice.
In our next client meeting, we should make it a point to openly communicate that design changes will directly postpone our delivery dates unless they are made by a certain day in the week. I believe it’s important to show the client that we value our time and also keep team morale up for better productivity on this project. What are your thoughts?

Most supervisors and managers are reasonable.
You should first demonstrate a flexibility when being asked to work overtime, especially if its temporary. However, beyond a certain point, it is time to speak up. This can look different for everyone and is dependent on factors only you can decide.

Creating an open dialogue is very important. Even if you are just a part of a team and not its leader, it does not mean you cannot communicate your feelings about what you think is best for the team. A lot of developer’s would rather say “sure” and then internally stew with resentment by agreeing to something they did not think was fair. Open dialogues are also a rapport building opportunity as they enable you to turn a one-sided conversation into a discussion where everyone can take part.

At the end of the day, you’ve at least said your piece and made your colleagues aware of how you feel about it. If you’re in a work environment that cannot make considerations or improvements in their approach to overtime and you are forced to continue working beyond your means, it may be time to move on and start looking for a company that value their employees better. It’s as simple as that.
Business is business, and companies are not the only ones who get to say that.

What about a rude remark, behavior or condescending tone?

Do not take it personally
It is most probably not about you. Try to step outside the situation for a second and observe whether this is something that happens often or if the person you’re dealing with is just having a bad day.

Depending on what you can figure out, you can choose to ignore the situation or vocalize.
Here’s a great way to quickly change the tone of the conversation:
“I’m not interested in being spoken to that way”.
Also please don’t attach a “sorry” at the start. You have nothing to be sorry for.
Be mindful of your body language. Direct eye contact is important, but there is no reason to raise your voice, overly use your hands or make aggressive expressions. Keep calm. You’re in control here.

Another way to approach rudeness is taking the therapy approach.
That’s what I like to call it at least. It’s not your job, but sometimes to connect with another human, you have little choice:

“Hey, I can see you’re very frustrated right now, is there something I’m missing?”
Just like the previous example, we’re creating an open dialogue. The person in front of you is human. If they have any ill intent towards you, it is likely to come out here and give you more information on how to approach this in the future. If the person is just frustrated with a current situation or something you did, they will understand that you’re trying your best to figure out the problem and an open dialogue can prompt them to be more direct about the issue at hand.

If the behavior does not improve, it’s time for you to distance yourself
You do not need to be the person who says “I didn’t come to work to make friends” or directly say “You seem to have a problem with me, I don’t like you”. If someone is making your work environment unnecessarily difficult, you can stop involving yourself with this person as much as possible. Limit all interactions to just work items and leave it at that. If they notice, it may prompt them to be kinder or talk to you (oh look, another chance at an open dialogue!).

Do not tolerate things if it goes too far. There is a clear “okay that’s not okay line” and you’ll see it if it’s happening. It is time to speak to your manager or get HR involved. If you receive an inadequate amount of support or are just ignored, it’s time to figure out if you can continue working in a toxic environment.

I rarely recommend “Quitting” and as trendy as it’s become, please consider the following:

– Workplaces are challenging, that includes dealing with difficult situations and not just the work itself. Learning how to conduct yourself in difficult situations IS WORK EXPERIENCE. It’s not just about picking up a new library integration or figuring out how to make use of a fancy data structure to make data processing faster. Dealing with people is an integral part of your work.

– Not having a job lined up can give you the appearance of a job hopper. It’s a tough place to be because now you’re potentially facing another thing to be judged upon when looking for a good fit. I’ve been there myself and I can say this from experience. Also, bills. Oh those bills. Someone’s got to pay them, right? Looking for work while you’re working is a headache, but you’re doing the best you can to change your circumstances instead of just accepting your situation.

– Good ol’ Canadian Employment Insurance (Yep, that’s a reason, as simple as it sounds).

– When all’s said, protecting your state of mind is your first priority.
If you’ve really reached a point of no return, at least leave your job gracefully. Here’s a great article on how to do just that. Luckily the interwebs have given us the power of knowledge at our fingertips, do your research and you can add a new skill to your candidate repertoire, and yes, learning how to quit your job gracefully IS 100% A LIFE-SKILL.


The food / drink boundary

Coding requires a well-fed and well-hydrated mind. If you’re so focused on a project that you’ve forgone or postponed food or drink for it, you’re on a collision course with a bunch of physical issues that will quickly translate into mental ones. And no, 5 cups of coffee hurts you more than feeds you, but you already know that.

So if this is a boundary you struggle with. What do you do?

Start with establishing requirements that work for you
It does not need to be 8 glasses of water a day, or only healthy oats for breakfast. Keep it simple, keep it easy to do. You’re more likely to stick to a new habit that way. You can work on refinement later. Just like with code, you get it working first, then make it efficient if possible and lastly you only refactor when you have the luxury to do so.

Here are some starters to consider:

If you’re someone who doesn’t get thirst pangs:
Use water alarms and set it for every 3 hours and stick to them religiously. I personally use a tiktok as a video alarm because it makes me laugh and puts me in a good mood.

If you’re someone who has caffeine addiction:
Accompany your too-many cups of coffee with a small glass of water to the side. Alternate drinking them. Over time you will develop a thirst for water outside your coffee regiment. Some manage to replace their coffee entirely and hop onto the tea band wagon.

If you skip breakfast for whatever reason:
Consider the smoothie alternative. It’s quick, painless and takes a laughable 0 effort.
For eg: I buy frozen strawberries (big pack, lasts forever) and mix it in with a banana and some almond milk. Zeeee that bad-boi up and you just got your serving of fruit for the day.
And honestly it’s a banana-smoothie milkshake, what’s not to like?


The mindfulness boundary

Here’s where things get tricky. As much as I love the code space, I’ve grown wary of how it can negatively impact my mental strength if I’m not careful. It took me years to figure out I don’t always have the healthiest relationship with code. So far everything in our list of boundaries have been somewhat external. When I think of the mindfulness boundary, I ask myself this question:

Did I give myself space to feel peace today?

Code gets me excited, for a myriad of reasons. Sometimes I’m really invested in what I’m building, there’s that spark of joy and the rest of the world melts away. In these moments I’ll eventually look up and realize there’s more to life than my keyboard and monitor and time has just evaporated. It’s a great place to be when you’re not under some kind of strict deadline, but it’s also a terrible behavior to develop long-term because you fail to disconnect. Failing to disconnect, even when you’re super duper happy in your code zone is still a failure.

The goal is to make conscious decisions that allow you to disconnect with the purpose of giving you peace. Once you’ve been working on this for a while, it will eventually become an unconscious decision and come to you naturally. For example, let’s say you’re a person who loves reading books.
You can dive deep, dedicate hours, be on a prolonged adrenal surge from excitement, but you’ll rarely feel like a good book you enjoyed reading was WORK. When you think of things you enjoy you approach them with a sense of comfort and peace. You have positive feelings about it, and even if you’re focused on it, it doesn’t drown out your needs.

As an avid book reader, I’ve never had trouble putting down a book to stretch, get myself a glass of water, or eat a meal, take a break, attend to other things that may be important. I also don’t guilt myself over how many chapters I got through. It’s usually, ah I’ve read for 3 hours, that was fun.

Now if I could take how I feel about books and apply it to how I approach code, wouldn’t that make the process so much more enjoyable? It is my responsibility to remind myself that it’s 100% in my control to choose how I feel about something.

Here are my ways to create peace in a coding environment:

– Listen to music
There’s very little that’s less enjoyable with music. In my early days of coding, I found music distracting and would code in absolute silence. Never tapping my foot to the beat or humming to the chorus or full out microphone-ing my pen to sing along. It was a boring existence. It’s okay to be distracted every now and then. It’s human. If you find words in songs distracting, find something instrumental that vibes with you.

– Step away from your code baby
You’ve probably read frequent breaks are helpful when programming. The problem with this is everyone’s so different that I cannot tell you what’s best, only you know would know that. So let me categorize this a little to give you the direction of thinking I want you to get out of this.

Decide between physical or mental
Stepping away from your work to take a short walk and change your scenery is useful because it can let you think of the overall problems, rather than the minute details of what you’re looking at on a screen. Movement is a great stimulus for your mind. Sometimes you’re too preoccupied or have been working on the same issue for an extended period of time (Oh debugging, how we love you). In this scenario, you need to create some stillness rather than stimulus from the racecar thoughts in your mind. If you’re stressed or wound up, you’re simply not at your best. It’s also very rarely worth it, especially long-term. So for starters, add deep breathing to your skillset, if you get distracted easily (me, this is me) – use an app or an audio mindfulness exercise to follow along with so that you’re dedicating a particular amount of time to zen-ing-out.

Decide on frequency
If you’re someone who has problems stepping away like me, a timed break may be beneficial to build a habit but it could also be incredibly distracting. It also depends on where you currently are in your coding needs. If you’re on a roll and you feel good about it, you probably don’t want something going off every half an hour telling you to “take a break”. With that said, regardless of how in the zone you are, you should definitely be taking a physical break every 2 hours. Even if it’s for 5 minutes.

Decide on effectiveness
Because this is all in your head, only you can decide what works best for you. Here’s a list of things I’ve observed developers do when they’re creating peace. It’s quite an open list because hey it’s 2020 and work-from-home is totally a thing.

The overall goal is to do something that doesn’t involve you looking at a screen just a few inches away from your face. If you can find a way to let your eyes wander and focus on different things, that’s usually the best for me.
– Go for a walk (outside. where you need to wear pants and shoes)
– Do some pushups / pull ups
– Splash cold water on your face
– Use some eye drops
– Play with your pets
– Stretch/ Yoga
– Play an instrument
– Listen to a song that calms you
– Go for a smoke
– Give a friend a quick facetime or call


At the end of the day, what works for you, really just depends on you. What’s important is that you consciously dedicate time and space (OH!) to improving your coding environment, whether it’s in or out of your head. My next article will focus exclusively on Imposter Syndrome, and oh what a delight that will be to write.

Amina Khalique | Mindful Developer, Anti-Burnout Advocate

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s