10 minute read

Whoops here we go, time to test the deep waters1: writing about Tech +/with/other-way-around-maybe Buddhism Buddhism is definitely not what you think, in two ways: 1) it takes years of practice with study to develop insights into what it really is and 2) [literally] it’s in the end not something you think about, not an intellectual exercise, but something you experience. Nevertheless, start learning more here:
.

I will here start exploring how the teachings of the Buddha apply to one who’s profession and craft is that of software development.

The Characteristics of Our World

Through your life experience so far, might you have noticed some patterns on a smaller or larger scale how life in this world works for a human, especially in terms of happiness and the opposite? A classic example would be to work very hard for something, and our hopes of happiness that will be rewarded to us once we get it, and once we acquire it, we don’t really enjoy it. That we now possess that new object, status or accomplishment is soon forgotten because we have trained our mind to keep looking for happiness elsewhere; in the future.

No doubt we have all experienced dissatisfaction in life, from severe pain to unrest stemming from desire for something. In my own experience I’ve been battling with the insight that even those happy moments, moments that should be happy at least, that I’m not really truly enjoying them at the most ultimate sense. While I did experience emotions of happiness, it was not ultimately satisfying. This insight crushed me, because happiness is what I had been chasing thinking this is the solution to human’s situation. It was even declared as my meaning-of-life: “create happiness for me and help others experience the same”.

Not unlikely you have also made the connection that many times dissatisfaction of life stems from that things are not ever-lasting; (happy) emotions, objects, your work outcome, and most importantly life in this body itself. Other sources of an unpleasant experience is with no doubt when we cling to objects, objects here in the wider sense including our own mental views for example, or when we engage in and act out of various degrees of aversion to hatred. Something we do as developers is that in gaining experience, we acquire opinions about technical solutions, we become more opinionated. This is celebrated as a mark of progression on the career in the IT-field and surely is good for the sake of engineering. But what do all these opinions do to our head, to our mental experience of the world?

From my own experience I see a direct link between the increase of opinionatedness and the increase of subtle mental stress and dissatisfaction. The more views of what is right/wrong, better/worse way of doing things, the more dualities in other words, the more risk that we will experience dissatisfaction when the world does not go to our liking. Now there’s a wonderful concept called equanimity that can help here, and be developed through meditation practices. That’s for another blog post. Oh wait, there is already a post touching this topic; my personal revolution breaking myself free from decades of built-up opinions leading to a complex digital life, to a simple setup using as many pre-installed apps and settings left to default as possible.

As I first came in contact with Buddha’s teachings of the trilakṣaṇa (Skt. trilakṣaṇa; Pali. tilakkhaṇa) The three marks of conditioned existence in samsara: Anicca (impermanence), Dukkha (suffering, dissatisfaction), Anatta (not-self, insubstantiality).
and the triviṣa (Skt. triviṣa; Pali. tivisa) The three mental poisons that drive our unwholesome actions: greed, hatred and ignorance.
it did not take long before I could see how this applied to my life as a developer 2. The teachings of trilaksana pinpoints the characteristics of living in this world, that everything we experience has the marks of impermanence, dissatisfaction and insubstantiality. This is not necessarily easy to take in. Better look at your own experience; is your experience like that, if you take a deep look and be very honest? The teachings of trivisa, the three mental poisons that drive our unwholesome actions being greed, hatred and ignorance.

Through my life experiences up to that point, I had enough personal evidence of these teachings that I could immediately accept them (in an intellectual way, a truly full understanding would mean already having some degree of enlightenment). Then through increased daily meditation and reflection, I started to see more subtle mental thought patterns and the outcomes of them and could start applying the teachings to my own situation.

This Code Is Impermanent

print("Hello, samsara!")

I’m a person that can become very engaged, committed and invested in tasks that I take on. Mostly I find joy in perfecting and engaging fully in what I do, but it also has its dark sides. I became aware that after producing some piece of software or project, there has built up some level of attachment to it and underlying view that expects this outcome to exist “for ever”. Reality, that any seasoned developer will know, is that the code we write will often not live for long. Projects are scrapped in both startups and larger companies, scopes are changed and things rewritten, decommissioned, heavily refactored.

When reality dawns that the code I’ve written, that very well functioning, good looking3 and carefully unit-tested code I’ve spent so much mental energy and time on, there is dukkha (Skt. duḥkha; Pali. dukkha) Most extremely meaning suffering, but has many degrees of unsatisfactoriness, an experience of ill-fitting experienced in different ways.
. Sometimes a gross let-down when the project manager announces that the project that is almost finished after months of work, is being scrapped to a more subtle feeling of dissatisfaction and pointlessness lingering in the background stemming from the knowledge that most code I’ve written is not having that great impact as envisaged during its production.

Towards What Is Permanent

print("Hello, nirvāṇa!")

What to do? Our world is characterized by impermanence, dissatisfaction and insubstantiality and the code we write have these characteristics as well. Should we stop writing good code, write less unit tests, force push to production or add a while true loop around your program’s entry point to just restart your app when it fails instead of fixing the root cause? Maybe some of these, sometimes, but it is not as simple as giving an answer like this. Luckily for living beings, there is an experience that is free from these marks of cyclic existence in samsara Cyclic existence.
the permanent state of nirvāṇa (Skt. nirvāṇa; Pali. nibbāna) The state of liberation from samsara, the end of suffering.
. Now that is a very high aspiration so let us come down to samsara for a while to see what we can do here, and save a discussion of the higher goal for another blog post.

Here are some thoughts that I’ve had, and no answers – that you have to find out for yourself.

One way to come to terms with reality is to think of our work (read: software) not as a resulting object that came in to existence and will continue to exist, but rather that our work, our code, is a contribution to a stream of energy moving forwards, giving birth to the next moment (of your company/product). Sounds a bit hippy-fluffy maybe, but think about it; what it could mean? A practice of reducing attachment to a view we have in our mind (concisely and subconsciously) that things inherently have an existence. Taking it down to something concrete: sit down and meditate, regularly, and things start looking quite different.

To get some perspective, I think it is very helpful to not sit in front of the computer all day. Extra warning for developers in home office (I speak of my own experience). Get out in nature, and see if you can find the joy and expand our minds that we contract so much to fit inside a computer’s working as developers.

We could draw inspiration from the Japanese Buddhist traditions that emphasizes the perfection of craft as a spiritual practice with mindfulness. Google term: Monozukuri.

Another method can be to navigate the extremes of views/states from not caring about our code to the opposite of strong attachment i.e. look for where the middle way (Skt. madhyamapratipad; Pali. majjhimapaṭipadā) A teaching to avoid extreme views, most often applied to the question of existence: nihilism vs eternalism.
is.

A final idea; raise our perspectives. Realize that any outcome in the “worldly world” is just that,contained in this worldly experience. Instead seek desire and attainment in something that really takes us towards the other shore.

Some thoughts, some ideas. Now you have to take in from here.

Footnotes

  1. Note that one’s understanding of the teachings of Buddha is ever progressing, and this blog post is a mere snapshot of my current understanding at this very moment. No doubt in a few years from now I will have a different understanding of these topics than now at the time of writing. 

  2. or rather: in my experience as doing developer actions, as a developer is not an inherent quality of a “me” :wink: 

  3. Might be subjective. 

Leave a comment

Your email address will not be published. Required fields are marked *

Loading...