If you’re a developer, you may have felt these feelings before:
1) You started working on implementing a new feature. You spent the entire day making progress on it. You weren’t stuck, rather, you were quite productive. Despite a productive day, your mind continues to race about what’s left for you to do to finish implementing the feature.
2) You worked on a bug the entire day and didn’t make the kind of progress you hoped. Your mind isn’t racing (you’re actually quite tired), but you have a hard time doing anything after work vigorously as the sense of incompleteness looms over you.
3) You feel super productive. You’ve knocked out several bugs and even implemented a feature on top of code reviews. However, the next day, as you begin working on a new feature. The QA testing found issues on all your previous work. Suddenly, you feel overwhelmed with how much you have to do. Work ends but you feel stressed. You’ve worked a full day, but you feel as if you haven’t hit a good stopping point.
4) You are cruising through your work, and you feel like things are going great. You’ve been super productive, and you’ve even received recognition for your efforts. But as you move on to the next thing, you feel kinda fuzzy (even though it’s a bit elusive).
I could multiply examples, but the point is that being a software developer, despite all its perks, is a mentally exhausting industry.
If you were furniture mover for a living, you would be careful to take care of your back as it is essential to your work.
If you were a musician, you would take good care of your instrument.
In any work profession, you need to take care of the instrument by which your work is produced. In the case of a developer, this is your mind.
So, how do you take care of your mind?
I won’t launch into a diatribe about psychology and modern theories on mental health.
Neither will I talk about how some of the stressful situations mentioned above could have been avoided. Honestly, there is always going to be a difficulty in labor and no industry is immune; no, not even software development.
Rather, let me emphasize that all those stressful situations I mentioned above are indicative of the need to rest.
By rest, I don’t mean good sleep (although, you certainly should be aiming for that). I don’t mean the days you take off from work (which are vital). I mean a way to take the edge off from the stress that accumulates during a work day.
As a general rule, those who work with their hands rest well with their minds, and those who work with their minds rest well with their heads.
So, what does this mean for developers?
Find a way to rest with your hands.
What does this look like? Well, I would simply recommend something physical that you enjoy and where you can see clear progress before and after.
Exercise is great, but you don’t even need a gym membership to do exercise.
Recently, my wife and I moved I from our rental into a new home. As a first-time homeowner, I’ve been getting my exercise by painting walls, mowing the lawn, weed-whacking, making an outdoor fire pit, etc. etc.
Here’s how I approach it:
Work with your mind until you feel fuzzy. Then, either take a break with physical work or plan to do physical work when you are done with your work day.
I pick something that’s not only physical but has a concrete before and after (like mowing the lawn) so I can have a sense of accomplishment regardless of how the coding day went.
Of course, things come up. But if you simply emphasize on testing with your hands, it will do you no small amount of good.
What do you do to actively rest from coding?