Our body is a machine that focuses on preserving energy as much as possible. That’s why we love doing nothing so much. 21st century, with all the technological improvements, is generous to keep us doing exactly that, just staring at the screens. It is unsuitable for us, of course. But tell that to anyone working in the office eight or more hours a day.
I think we forgot our body is not just a machine but a biological machine. We evolved a lot over time to fit the environment around us. Until recently, that was a time without the internet and technological gadgets in our pockets. We had to work hard to keep up. It was no bed of roses.
Probably everyone, including all the animals in this cruel world, would instead give up. Maybe that even happened at the very beginning; who knows? But life found a way to go on by implementing motivation. We have all kinds of hormones triggered in proper time so we feel satisfaction we need to go on.
You might already guess that our machine is fine-tuned for the environment where we “grow up.” Yet we live in another one we mainly shaped only in the past century or two. For example, software engineers sit calmly in their chairs all day with many health risks (obesity, diabetes, back pain, eye issues, depression, burnout, etc.).
Why is that? What are we missing?
I think the most crucial detail is that software development is not physical enough, and thus, it is trickier to detect we are beyond our limits.
Consider building something big manually. If I’m fresh enough, I can imagine working very hard from sunrise to sunset for a few days. But that’s it. Then I need several relaxing days to recover. By several, I mean at least the same amount of days as the work itself, but usually more. My body cannot exceed some physical limits, and I get a clear message about that.
Whereas in software engineering, we are used to chaotic fast pace that never ends. We are asked to run fast for a short time, which is OK, but it is too late before we find out we are sprinting several marathons in a row. By that time, we have built lousy software that will require a lot of love to make things right, and it has to be done by someone else because we have burned out in the meantime.
Consider this: you cannot move as your legs are no longer working after running an actual marathon without any preparation. There is nothing you can do but stop and wait till your body recovers from this crazy achievement. As a software engineer, you take energy drinks.
I believe one of the problems with software is low or complete lack of satisfaction. You cannot touch or see it, happy hormones are not released (due to lack of physical activity), and everyone is just pushing to do more.
For example, when working on my cottage, I didn’t have to push myself even if progress was way below what I imagined. Surely I had days when I was sad because nothing moved on due to various unexpected situations. Still, more often, I felt a pleasant feeling in my body after hard work, and I could observe how my project was slowly taking shape in front of me. I was proud of every single shape.
I don’t want to say this is completely missing in software development. At least I feel good about some pieces of code, too. But that feeling is there only at the moment I commit it, and then it’s gone. The backlog is already calling for the next task.
I think another problem is no room for meditation. Since the beginning of my career, I have liked working on very complex and tricky challenges and also on very dumb manual straightforward tasks. The first requires my entire active mental presence, and the latter is excellent for turning my brain off and repeating what I could do even if you wake me in the middle of the night.
Dumb tasks might be fantastic for feeling similar sensations like during meditating. Meditation is an essential part of life to stay sane. I never considered it applying at work, though. I was surprised when I saw my neighbor was actually meditating on the job.
I wanted to fix some parts of my walls quickly and move on. I asked my neighbor. He agreed to help, but he didn’t care about half-job. He worked slowly and precisely and cared about the whole thing, not just some holes. It is a dumb task for him as he has been doing it for innumerable years. At some moments, it looked like the work of the artist. Other times it looked like he was meditating. The result was great, and he left with a happy feeling of satisfactory work.
Wouldn’t it be great if people in software development slowed down, produced better output, and enjoyed the work and result?