A lot of people ask me how they can directly apply meditation itself, or what they learn through meditation (a.k.a. mindfulness or self-awareness) in their life as a software developer. I thought about it for a bit and came up with 25 ways pretty quickly. I’m sure there are more!
(First published at CodingMindfully.com)
- Prepare for my day. I don’t know about you, but my mind quite often kicks into gear around 15 seconds after I wake up. I’m filled with thoughts of the day ahead – all the failing tests from yesterday, the pressure to deliver a feature today, which sometimes it dips into anxiety. As soon as I notice this happening, I can see that it’s time to “clear the decks”. 10 minutes of meditation in the morning helps the mind settle, and gets the day started from a calm place – which is great when I know that there’s a busy day ahead!
- Helps me manage my stress cycle to keep it healthy. As we rise to the various challenges of our day, our stress response can be activated many times. Pesky bugs, demands from our team/school/whatever, constant Slack messages – they all kick your nervous system into gear. If you’re not careful, you can enter an unhealthy stress cycle, which often ends up in burnout. Mindfulness helps me by (a) helping me recognise where I am in my stress cycle (b) gives me tools to actively manage my stress levels. It’s a superpower!
- Maintain presence in my interactions with others. Mindfulness is a capacity for presence. Software development is a game of relationships and interactions as much as it is about code. Applying mindfulness in-the-moment allows me to be more present with the people I am aiming to help – team, clients, other stakeholders. I can notice the nuance of expression, pick up on moods, and so on that I might miss otherwise. Which helps to…
- Makes me a better listener. Through meditation I’ve trained my mind to recognise when I’m NOT listening, – especially to notice when I’m preparing my response rather than hearing someone’s words (hands up if you do this?). I can then chose to refocus on what that person is saying, helping them feel heard, and also helping me understand them better!
- Recognise when I’m off track – just because I meditate doesn’t mean I’ve got laser guided focus all the time and never get off track. I’ve flicked to my browser three times while writing this article for example! What mindfulness does allow me to do is recognise those moments where my mind has flickered elsewhere (this is essentially what meditation is – training your mind to recognise its own distraction and refocus). I can “course-correct” much more easily than I used to and I attribute this 100% to mindfulness.
- Recognise when I’m in an emotional state that isn’t helping me code right now. We are emotional creatures, and coding has its own spectrum of the feels. Because mindfulness helps me be more self-aware, I’m able to identify that I’m in an unhelpful emotional state at that time, and that act of recognition allows me to decide what the best way forward is (take a break, have a conversation with someone, seek support)
- Especially frustration! I have no scientific basis for this but I reckon frustration is part of most programmer’s lives on a very regular basis! Looking at a piece of code, thinking it should be working and having no idea why not… literally every day!
- Have overall better emotional health – being able to name my emotional state through applying mindfulness allows me to be able to regulate myself, meaning I’m less prone to extremes in the first place (they still happen from time to time, I’m not a robot!)
- Remember to apply “beginner’s mind” when I’m stuck – an important concept in meditation is “beginner’s mind” – to show up to the present moment and face it as it is, without preconceptions about how it “should” be. This can help me see the bigger picture. Specifically as a programmer it helps me to…
- Challenge my own assumptions about a piece of code. When dealing with code, we are forever building mental models – of the world we are trying to mimic in our code, of the code itself and how it works. Often when we are stuck with a solution it’s because one of the assumptions in our model is wrong – there’s a piece of information that we haven’t seen or acknowledged. Awareness of these assumptions through mindfulness, and application of “beginner’s mind” helps us challenge our own models.
- Recognise – and deal with – my own inner critic. There is an inner voice in each of our minds that tell us we’re not good enough in some way. There are good reasons for its existence – read more about it here.
- Take pride in my achievements. It’s very easy to look at the world as being “all problems” – in fact, it’s the default setting for our brains. However, most of us experience joy, satisfaction, flow and other attractive emotional states at some point. Being mindfully aware of when these states are present allows us to “take in the good” of life, to fully appreciate them. For example, the success of having a pull request accepted, or the moment a customer successfully uses your code in production – both moments to stop and allow yourself some pride and pleasure.
- Keeps me in tune with my values. Because mindfulness allows me to notice and name my emotional state, I often have some insight into whether a particular circumstance is contributing. I know when something feels “off” because it clashes with my values, which allows me to reconsider my involvement. I can say no at that point if I need to.
- Recognise when I’m feeling intimidated by the achievements of others. I’ve spoken with countless developers who feel like they are the worst dev in the room, in particular compared with the achievements of others. It’s that pesky “comparing mind”. I have mindfulness based strategies for dealing with that.
- Know when it’s time to step away from the keyboard. Mindfulness allows me to recognise “stuckness”, which is often a sign I need to take a break – which as any good dev knows is when the problem always gets solved, right?
- Meditation is often when I’m at my most creative, coming up with solutions to all my problems when I’m trying to focus on my breath/body… I have notepads with lines of code from immediately after meditation sessions.
- This also helps my learning. I was feeling pretty frustrated trying to learn something about concurrent programming in Java just last night. I (mindfully) recognised that I was struggling and stepped away for a while. And of course, the solution just appeared in my mind…
- I’m less judgemental when I discover confusing code. This is a big one for me. In the past, it’s been easy to throw up my hands in frustration when I discovered a piece of code I thought was stupid. Now, having gained insight into how difficult it is for me to write something decent, I’m much more sympathetic to the struggles of others who came before me. I’m sure they were doing their best.
- Appreciate the beauty of a fine piece of code. This is a form of taking in the good – allowing myself to appreciate acts of genius on the rare occasion I stumble across it.
- Decompress at the end of the day. A long day coding is effortful and expends a lot of energy. I need ways to wind down and restore. A twenty minute body scan meditation often works for me.
- Prevents me from becoming burned out. Nobody wants to be burned out. Practicing mindfulness can help to keep it at bay.
- Helps me recover when I do end up on the burnout spectrum. Everybody ends up burned out a little from time to time (or even a lot). Mediation is part of my recovery toolkit.
- Be more aware of where on the Flow Cycle. I wrote all about flow here. There’s a cycle to it – Struggle, Release, Flow, Recover… mindfulness allows me to know where I’m at on that cycle.
- My productivity is generally higher when I meditate compared with when I don’t.
- And, in general, I sleep better when I’m meditating, and feel less tired.
So there you go. If you’d like to know more about any of these, reach out. If you’d like to start applying these, pick one! Have a go at it for a week, and see what comes out of it! Let me know how it goes…
I’ll be launching my course again in a week or so. It covers a lot of this material. Stay tuned!