Mental game part 2

2019-05-14

In the previous post we introduced the concept of a mental game. Software engineering isn't usually quite as intense as playing poker but I still find the general principle useful. In this article we'll look at how to apply it to day to day development.

I want to increase my concentration at work, in doing so I'll produce better quality software and work is more fun when you're engrossed in it. To do this I want do decrease the time I'm distracted.
Distraction is hard to resist once it's fully set in, and before you know it you've gone from stackoverflow to deep into the /g/ archives. To prevent this we need to catch distraction early, identifying a cue we can notice that lets us know our concentration is about to slip. For example maybe the first sign you're getting distracted is that you open slack just to see what is going on, or you suddenly have the urge to check your emails, for me it's when I start navigating using the mouse.
Once you've identified a cue you need to come up with an action plan to reset your attention. You're looking for something to inspire you to boost your motivation levels (I could write whole series of posts on inspiration vs motivation, tldr inspiration only works short term, on the time scale of hours). This could be something like an inspiring phrase on a piece of card eg: 'Stay concentrated, do a good job, earn more money', a picture of DHH(pbuh), anything that will help get you back in the zone. I keep a list of (shell, tmux, vim, git) tricks to try when I'm lacking focus. Usually trying out one of them is enough to boost my motivation enough to get back in the zone (Not strictly the zone - topic for another day).

I think I have enough material for a third peak performance programming installment, stay tuned.