Coding, Managing and Christianity

Thoughts about coding, managing and Christianity

The Curse of Coding

I always loved coding and writing software and have done it in varying intensity for the last 35 years. This number by itself is scary. I suppose it matches my temperament as an introvert very well. It allows me to focus on a problem intensely and I love it when the pieces of a puzzle fall into place or, after a while of debugging, the cause of a problems becomes finally clear.

However, I am noticing for a while now that I’m not that happy after a good hacking session. I have been working on some extend projects for several weeks now, which also require a fair bit of coding. It is ironic that after 15 years I finally have a job that I love, partly because I can do real technical work there, only to realize that at times it leaves me feeling unhappy.

Are you so dull?

Often when I’m done I feel dull. It is almost like all live has been sucked out of me. It reminds me of Matthew, when Jesus asks his followers “Are you so dull?” (Matthew 15:16). The context off course is different, but I imagine them looking with blank eyes, hearing what he just said, but not getting it. It is not so different with me. When I’m in this state, I hear things and don’t comprehend them. On the way home in the train I might read, but if you would ask me what I read, I would not have any idea. When we engage in an activity that is mentally demanding, like coding, we exert a fair amount of energy. So in a way, it is just the brain saying, give me a break, let me rest a bit so I’m fresh again. That is where pomodoro works well, work intensely for 30 minutes, then take a 5 minute break. After 4 rounds or so, take a longer break. The only problem: I often lack the discipline to maintain the strict breaks.

When is it ever good enough?

Another thing that happens quite often is that I finish some work and feel happy and accomplished, for … 2 seconds and then the next thing I ought to do pops into my head; some feature that is still missing, some refactoring that could be done, some task that is cumbersome and could be optimized - you name it. There is always something. The result is frustration instead of satisfaction, because I’m not done. Guess what, I will never finish. That is the nature of software. Unless the problem is trivial, someting always can be done better.

Again somewhat out of context, but Genesis 1 and Psalm 51 come to mind. In Genesis God looks at this creation and “saw it was good”. Of course we are not God, but God has planted in us the desire to create and most people I know do in one form or another. What we seem to forget is to take a break and look at what we did and enjoy it. That is why the seventh day is for resting. Being mindful in what we do, is the part of it too.

Psalm 51 says “Restore to me the joy of your salvation and grant me a willing spirit, to sustain it” You may not believe in God and/or satan, but call it what you want, the dark side of the force maybe, that is out there to rob us of our joy. This is quite smart, because we want to be happy and experience joy, so we work more, or eat more, or spend more, or have more sex, or whatever your self-medication of choice is. When we indulge it in, it separates us from God. It is up to me to fight that, by taking the time to reflect on my work, enjoy it and first of all give thanks God for the gifts he gave me to accomplish it.

Do not fret

I would like to finish with another reference to God’s word in Psalm 37 “Refrain from anger and turn from wrath; do not fret - it only leads to evil”. It is not exactly fretting, even so I can do that too, but when I was not able to finish a piece of work, my mind is constantly circulating around it. Thinking how to best design and implement it, what the cause could be, how I could solve it, how I could work around it. It often goes a long with starting something new right after I just finished something, as I mentioned earlier. It is hard to get my mind off it, leave it alone for the rest of the day and get back to it tomorrow. I can do it somewhat at work, where I leave the place and have and an 1 hour train ride that separates me from the job, but if I work on something at home, it is magnitudes harder.

In finishing there is no curse in coding or in any other thing that we enjoy, but causes us at times to feel dissatisfied. It is human nature and the ever present battle between good and evil. Therefore I will make an effort to

  • work in short spurts and take breaks,
  • when I’m not done with something take some time to reflect on and enjoy the accomplishment,
  • and most importantly give thanks to God for the gifts he gave me.

When you see me, please ask me how I’m doing with it.