A loyal AgileZen user, Christian Grobmeier, recently posted his Ten Rules of a Zen Programmer. Christian is a German developer, having built Time & Bill, a time tracking tool (available on the web and in the Android Market). Christian reached out and offered his thoughts on the AgileZen product and his programming philosophy. Below are some of his ideas that resonated particularly well with our approach at AgileZen:
I use a Kanban strategy (with AgileZen) and Time & Bill to focus. For me, both tools are the perfect combination. The only thing I can’t do with them is to keep distance from work – but well, that’s what I have real life Zen for. With Kanban it is possible for me to handle the giant number of daily tasks I perform. Currently, I spend my time writing books and technical articles, developing my own products, coding for customers, and much more. To work efficiently, I cannot have them all in my mind. Kanban lets me drag and drop the tasks to various states and help me to see what needs to be done. Sometimes I am so tired that I cannot think about the next task – it needs to be available when I need it.
If you have decided to work on a task, do it as well as you can. Don’t start working on multiple things at the same time – do only one thing at one time. You’ll not become quicker, just you work multithreaded. If you work multithreaded you’ll become exhausted, make more errors and lose time jumping from one task to another. Similar to the Pomodoro technique, I plan a few time slots and concentrate on them. No chatting, no sleeping, no checking out a new great game on the Appstore.
2. Keep Your Mind Clean
Before you work on your software, you need to clean up your mind. Throw everything in it away for the time being. If the trouble is so heavy that you can’t let it go, don’t work. Try to clear things up, but when you start working, let the outer world melt away. Twitter, Facebook, and your email inbox are consuming much of your energy. Close them down.
3. Beginners Mind
Remember the days when you were a beginner (or memorize them if you still are one). Think of yourself as a beginner every day – you have never learned enough. Always try to see technologies from the perspective of a beginner.
4. No Ego
Some programmers have a huge problem: their own ego. Programmers with ego don’t learn. Learn from everybody, from the experienced and the newbies at the same time. As Kodo Sawaki once said, “You are not important.”
5. There is No Career Goal
There is a Zen saying: “A day without work is a day without food”. Hard work can be both fun and gratifying. There is no need to start searching for happiness after 20 years of work – you can be happy right now, even if you are not a Partner or don’t drive a Porsche. Never stay with a job that takes away the happiness in your life.
6. Shut Up
If you don’t have anything to say, don’t waste your colleague’s time. Every day you work, try not getting on someone’s nerves. Imagine if everybody would try this – what a great working place that would be? If you don’t develop an ego, it’s easy to support the ideas of others without forcing yours down their throat.
7. Mindfulness, Care, & Awareness
You are working, but at the same time you are living and breathing. Even when you have some hard times at work you need to listen to the signs of your body. You need to learn about the things which are good for you. This includes everything, including basic things like food and water. It is important to avoid working situations you don’t like – let go what doesn’t make you happy. “Care” is a huge word in Zen Buddhism – take care in every second of your life and your work.
8. There is No Boss
Yes, there is somebody who pays you. There is somebody who tells you what needs to be done. This is no reason to give up your own life or become burnt out on your work.
9. Do Something Else
A programmer is more than a programmer. You should do something which has nothing to do with computers. In your own time, do things you truly enjoy. A hobby is not just a hobby – it’s an expression of who you are. The things I have done outside of programming have made me the person I am now, and they have led me to Zen.
10. There is Nothing Special
A flower may be beautiful – but it’s just a beautiful flower, nothing more. There is nothing special about it. You are a human who can program. Maybe you are good at what you do. There is nothing special about you. Enjoy the colors and the smell of the flowers.
The only thing I can’t do with Time & Bill and AgileZen is to keep distance from work – but that’s what I have real life Zen for.