Why mindfulness? Two reasons.

The first reason is that I try to practice mindful meditation daily, and I try to apply it to my life. As a result, I find myself wanting to write about it.

The second reason is that I think mindfulness can benefit everyone, and can help to make any developer better at what they do.

Mindfulness as a practice is essentially about awareness. Awareness of self and of each passing moment. It is a practice about becoming immersed in the flow of life. The traditional word for mindfulness is Vipassana.

As Henepola Gunaratana says in Mindfulness in Plain English,

Vipassana is a form of mental training that will teach you to experience the world in an entirely new way. You will learn for the first time what is truly happening to you, around you, and within you. It is a process of self-discovery, a participatory investigation in which you observe your own experiences while participating in them.[…]I don’t want to just accept somebody else’s explanation. I want to see it for myself. […]You’ll find yourself observing things objectively, exactly as they are - flowing and changing from moment to moment.

Change is inevitable. It is our job as developers to mitigate the destructive effects of change during the software development process and to be aware of upcoming lifecycle of the completed software. Once the development phase is over, if we have done our jobs well, the software will have a much smoother lifetime of maintenance and continued development.

A side effect of mindfulness is increased focus and concentration. Developer or otherwise, periods of uninterupted concentration are necessary to produce good work.

Seeing problems as clearly and precisely as possible, openly and stress-free, is the goal. Mindfulness can help to achieve that goal.

That’s it for now.

Happy coding!