📜 ⬆️ ⬇️

10 rules of the Zen programmer

From the translator: this is a translation of the article by Christian Globmayer The Ten Rules for a Zen Programmer . I liked the article, decided to make a translation, after finishing the translation I googled the name, found a translation option: 10 principles of Zen programmer It is different from mine, so I decided to post my own translation.

For some items I could not find a translation that would suit me, so I leave the original title in parentheses.

One rainy morning, I sat at my desk and thought about effective work. Before I started working as a freelancer, I used to have that I worked a lot, but I was never satisfied with the result. I started practicing Zen in 2006. What occurred to me in a rather long time was that the old Zen masters already knew hundreds of years ago how today's programmers should work. Although I don’t like “how to be the best programmer” posts, I want to talk about some of my thoughts from that time. This post will serve as a reminder to me, but if you have any ideas, feel free to leave comments.

1. Focus
')
If you decide to work on a task, do it as well as you can. Do not do several things at the same time. Do only one thing at a time. You will not become faster or better if you are sprayed. If you work too much, you will become exhausted, make more mistakes and lose time switching from one task to another. This is not only about programming, this is general advice.

KĂ´dĂ´ Sawaki said: if you need to sleep, sleep. Do not design software when you are trying to sleep. Just sleep. If you write code, write code. Even people known for their multitasking (orig. Known multitaskers), as Stephan Uhrenbacher decided to work in the same thread (orig. Singlethreaded). I had an experience similar to that of Stefan when I finally wrote Time & Bill , a time tracking utility. My goal was to track my time so easily that I could track even such a small task as a phone call. Now I can create several stopwatches at the beginning of the day and track my time with just one mouse click. In the beginning it was a disaster - sometimes I worked for several minutes on the task until I moved on to the next. Now I am better. As in the Pomodoro technique, I plan several time intervals and concentrate on them. No communication, no sleep, no search for a new interesting game in the Appstore.

2. Keep your head clear (Keep Your Mind Clear)

Before you work on software, you need to clear your mind. Drop all thoughts for this time. If you have problems with something, do not let it affect you. In most cases, this problem will go away. If she is bothering you, do not work. Try to put everything in order. But when you start working, let the world around you melt.

Something interesting in the mailing list? Leave it. You can see interesting things later. Disable everything that clogs your head with junk: shut down Twitter, Facebook, mail. You should even turn off the sound on the phone and hide it in your pocket. We can say that this is similar to point 1 - to focus. But there is another limitation: do not use all this (Twitter, etc.) before work or during lunch. They connect you to the outside world and carry with them problems or things that require your attention.

Think of it: in most cases, your head is pretty clear when you wake up in the morning. If not, sport can help (I do jogging). If you feel that you are fresh and rested, go to work and work as well as you can. When you leave your job, you can score your head with junk. You will see that it is not so much fun if you worked all day. Twitter and stuff consumes a lot of your energy. Do not think that it takes one minute. This is not true.

You know that is true.

3. Beginner's Mind

Remember when you were a beginner, or if you are still a beginner - take care of this feeling. You will never learn enough. If you are an expert, think of yourself as if you were a newcomer every day. Always try to consider technology from the beginner. You will be able to accept the edits of your software better and much easier to leave the standard path if needed. Even less experienced people than you have good ideas. Is there software that was created twice in the same way? Even if you copy the program - this is something else.

4. Without ego (No Ego)

Some programmers have a huge problem - their ego. But there is no time to create an ego. No time to be a rock star.

Who determines your qualifications as a programmer? You? Not. Others? Probably. But is it possible to compare apples and bananas? Not. You are individual. You cannot compare all of yourself with another human being. You can only compare some aspects.

Skill is not a reason for pride. Do you know Java well? Cool. Someone else doesn’t know Java as well as you, but plays bowling better than you. Is java more important than bowling? It depends on situation. You are likely to make more money with Java, but the other person has more fun playing bowling with your friends.

Can you really be proud to be a geek? Ego programmers don't learn. Learn from everyone, from the experienced and from the noob at the same time.

Kodo Sawaki once said: “You are not important.” ( Orig. “You are not important.” ).

Think about it.

5. Without a career goal (There Is No Career Goal)

If you want to achieve something and do not worry about your life now, you have already lost. Just behave as well as you can, not paying attention to the goal that you may reach in a long period of time.
Work twenty years to become a company partner? Why don't you work as hard as you can, just because it's fun? Hard work can be fun. “A day without work is a day without food,” says Zen.

No need to be happy after 20 years. You can be happy even if you are not a partner of the company and do not drive a Porsche. Everything changes very easily. You may get sick. You can be fired. You can burn out (I think it is unlikely if you follow all these points).

If nothing bad happens, work as well as you can and have fun doing it. There is no reason to pay attention to the achievements of your colleagues. There is no reason to think about a cool new job that you did not get.

In the end you will achieve something. You will have pleasant memories, perhaps a good position - and twenty great years. Every day is a good day.

If you sometime come to the moment when you think that working in your company is not fun at all (orig. Is no fun), you need to leave immediately. NEVER stay in a company that takes away the feeling of happiness in your life. Of course, this is only possible in rich countries where people have the opportunity to leave. But if you live in such a good environment - do it. Leave without regret. Do not waste time, tomorrow you may be dead.

When you do not have a career goal, leaving is easy.

6. Shut Up

When you have nothing to say, do not waste your colleagues time. It does not make you faint-hearted (orig. Wimpy). Every day of work you need to try not to get on your nerves. Imagine if everyone tried to do this, what would be a great place to work? Sometimes this is not possible. But try, you will like it.

7. Mindfulness. Care. Awareness (Mindfulness. Care. Awareness)

Yes, you work. But at the same time you live and breathe. Even if you are experiencing hard times at work, you should listen to the signals of your body. You have to learn things that are good for you. This includes everything, even basic things like food. You must take care of yourself and everything in your surroundings, because in the end the water you drink is the water in the river. You live only for yourself. You live alone and die alone. The world lives on even without you.

Avoid working in situations that you do not like. Avoid working for free if it means that you will not get pleasure from this and it will interfere with your sleep. Release everything that does not make you happy. Do you think that people work for free only in theory? Let's look at people who are engaged in open source in their spare time. If you are subscribed to the mailing list of a project, you probably know about the conflict that happens there (sometimes). If you do not enjoy it, stop doing it. I know a bunch of people who work in Open Source and they don’t like it. Again, with the help of Time & Bill, I tracked the time I spent on Open Source projects and wondered how much time I lost - especially on projects that I didn’t really like.

With this in mind, some people think that they are only happy when they have free time and can spend evenings with Xbox and beer. Sometimes it's a good idea, but not necessarily every moment of your life should be “fun.” If you can avoid a situation that you don’t like, avoid it. But sometimes you need to do something really crap. For example, manually copy-paste information from the table of your manager in Excel in phpmyadmin. It may take several days and it is very boring. Yes, it's not fun, but sometimes you have to do something like that. You can't constantly quit when you get bored doing some kind of task. The monks of Zen also do not shirk their duties. They wake up at 3 am (sometimes earlier, sometimes later, depending on the monastery) and begin to meditate and work (they even see work as meditation). They do things like cleaning toilets. Or work in the garden. Or as a tenzo, cook (approx. Transl. Tenzo - monk cook, en.wikipedia.org/wiki/Tenzo ). They do it with all their care. All that they do not do, they do without suffering and they are happy (or should be), because every second, every moment when they clean the toilet, is the second of their lives.

As they say, stop whining if you need to copy-paste with Excel. Just do it. Do not waste your energy on such things, they will pass. Instead, become Excel's best copypaster.

If you suffer from a heart attack, people will most likely say, “Hmm, yes, he really was a hard worker — he even worked for me at night for free.” No one can show you the way to another world. The last step we always do ourselves. And you can not take anything with you. It is your choice to take care of yourself every second or not. If you die, you die. But if you live - live. No time to waste.

“Care” is a big word in Zen Buddhism (I think that in every form of Buddhism). I can not express everything that should be said about this word. It is difficult to understand the different meanings of "care." You are probably more familiar with the word "awareness". You should be aware of what you are doing every second of your life. You must be attentive in your life. Otherwise you will live it in vain. But, of course, it is up to you to do so, if you like it.

8. No Boss (There Is No Boss)

Yes, there is someone who pays you. There is someone who tells you what needs to be done. And this one can fire you. But this is no reason to abandon your life or hate your job. In the end, your boss does not control you. You can even question whether you have control over yourself, but do not think about it.

Back to the boss: he can make your life worse if you let him do it. But there is always a way out. Say no if you need to do something that makes you disgusted or goes against your ethical standards. What can happen? Worst scenario - you get fired. So what? If you live in Western countries and if you are a programmer (which is very likely if you read this), you will find another job.

I do not mean to say no to such tasks as copying CSV data into HTML. I'm talking about the 80-hour week and the feeling that the body fails. Or the feeling that your children need attention. Or if you are forced to fire people simply because they don’t like the boss. Or if you are a consultant and your job is to develop software for NPPs (for some, it’s quite normal to work at NPPs, but this is against my ethical principles and serves as an example) or for thanks. You can say no.

9. Do something else (Do Something Else)

A programmer is more than a programmer. You have to do something not related to computers. In your free time, go sailing, fishing and diving. Practice meditation, martial arts. Play shakuhachi . Whatever you do, do it with all the forces that remain. As in their working hours. Do it seriously. A hobby is not just a hobby, it is an expression of who you are. Don't let anyone fool yourself when they say that hobbies are not important. Now we can afford a hobby. I recorded several cd-disks and wrote several fantasy books (the latter is not published, you need to practice more). All this made me the person I am now, and in the end they led me to Zen and this book. These days, when I practiced Zen Shakuhachi. This is a very important aspect of my daily life.

10. Nothing Special (There Is Nothing Special)

The flower is beauty. But this is only a beautiful flower, nothing more. Nothing special about that. You are a person who can program. Maybe you are good. This is nothing special. You are the same as me and everyone else on this planet.

You need to go to the toilet and you need to eat. Of course you need to sleep. After (hopefully) a long period of time, you will die and everything you have created will be lost. Even the pyramids disappear after a long period of time. Do you know the names of the people who made them? If so, is it important that you know this? Not. The pyramids are or they are not. Nothing special.

The same can be said about the software. The bank makes money with your software. After you leave, no one remembers you. There is nothing wrong with that. If you follow the first nine rules, you will realize that the last project was a good and interesting project. It’s just time to move on and concentrate on something else.

If your company closes due to financial problems, there is no problem. Life goes on. There is no real need for an Xbox, a car or something else. Most people on this planet live in deep poverty. They don't think about the Xbox because they will be happy to get food or even water.

So ... why are you special? Because you were lucky to be born in a Western country? Because you write code? This is nothing special. You can let go of your ego and live free. Enjoy the look and smell of flowers. Do not be too upset when winter comes and do not rejoice when spring comes. It is just a flow of life. Keep in mind when someone rejects your application. Because not one company is not so special that you need to worry about work.

Source: https://habr.com/ru/post/208172/


All Articles