The Zen philosophy asserts that inner peace and enlightenment can be attained through self-contemplation and meditation rather than devotion, faith and belief. Life is more often than not too fast, complicated and cluttered. Simplify and you’ll be on the right track to inner peace and happiness. This is the foundation of Zen and perhaps strangely, can lead to better software as well. Slow down, take a deep breath and try to do nothing for a half an hour. Can you even do this? If you can’t, you need to work on it. Inner peace is just not possible if you’re stressed!
Below you will find the 10 basics steps that will lead you to Zen.
- Slow down, take it easy
- Breathe right; deep into your diaphragm
- Less materialism, more spiritualism; get rid of the clutter and live simply
- Less TV, more doing; reading, writing, singing or dancing
- Less work, more play (perhaps the hardest step of all)
- Don’t worry about things you can’t change or the future; live more in the here and now
- Less effort, more focus; do what is needed to be done, not what you feel like doing
- Less driving; do more walking, jogging or cycling
- Less intake, more output; less consuming, more creating, inventing and doing
- Eat right; less garbage more nourishment
This short list rings all the right bells even when talking about creating better software. Coding is a bit of art – no art can be done right if you always run behind deadlines, or if you work endless nights and days. This extra effort may seem important for our perfectionist society but in essence does not lead to a better product. Even worse, it can lead to less happy – and less productive – people.
However, don’t think that Zen means work less; it means work better.
Eating well, having a well rounded life and understanding what should be done now and what should be left for tomorrow are important. “Getting rid of the clutter” is also essential for a good programmer. From personal experience, well-rounded individuals tend to be better programmers as well. Even when they don’t shine in core programming, they are team players, they can support people and they can document software or make a presentation if and when needed. Not surprisingly, these are the core qualities of a winning team…. and a better product at the end of the process!