
Rules of a Zen Programmer - atrniv
http://www.grobmeier.de/the-10-rules-of-a-zen-programmer-03022012.html#.UYZ2a7LjJHU
======
throwaway1980
I think these rules miss the point of Zen. The primary teaching isn't about
achieving spiritual perfection by embodying absolute states of mind. It is
about finding a middle road between two extremes. For example, although a
gigantic ego makes it difficult to cooperate with others, it would not be
possible to survive without an ego. The middle road is to find the connection
between your ego and the egos of other people. If you think you are selfless
and have no ego, the paradox is that you probably have a gigantic ego, because
your identity is invested in being spiritually pure.

The stuff about "shut up", "stop crying", "there is nothing special about
you", and "NEVER stay at a company which does take away the happiness in your
life" is similarly unhelpful. Zen teaches us that working with emotions is
often more effective than working with thoughts, so if you're crying, that's
probably important. In terms of being special, a snowflake is both unique and
highly similar to all the others at the same time. It's abusive to focus only
on the similarity. And if a company is taking away your "happiness", there's a
reasonably good chance that it's an opportunity for you to learn something
about yourself before you run away from the situation.

------
arocks
Agree with a lot of points and appreciate someone writing it down. Way back in
the days, I used to be a pencil and paper type programmer; there used to be
very little distractions like social networks or even an online help systems.

As a result, I still have a more comprehensive knowledge of the standard
library of a language or the instruction set of a microprocessor. Today, my
learning is very need based. While programming, I cherry pick the information
I need based on Google searches.

This leaves me extremely dependent on externalities and am faced with too many
distractions. Maybe, I need to learn to tune everything else out and focus
more.

~~~
GhotiFish
>Maybe, I need to learn to tune everything else out and focus more.

I spend every day practicing, and completely failing at this art. I've come to
accept that I cannot ignore things that are going on around me. I cannot
choose to focus on something.

I've only being on this planet 25 years, that's not a hell of allot of time,
but in this area I can say I have experience. If you want to focus, change
your environment. You cannot learn to tune something out. At least, I know I
can't.

~~~
zjmichen
I think learning to focus and tune certain things out is a skill like any
other, that anyone can learn to a degree. Admittedly I haven't made much
progress here either, but I think that with practice it becomes easier.

That said, I wholeheartedly agree with your idea about changing your
environment. This is the single easiest thing I've found that helps me focus.
Of course, there's always still the rest of the Internet...

------
mbrock
I don't think I'll ever forget the 7-day Zen meditation retreat when word had
gotten out that I was good with computers, so instead of digging in the garden
or peeling potatoes, I spent my work period scraping their old members'
registry page into Excel with some Emacs macros and a Ruby script. That
evening's zazen had a lot of distracting thoughts about refactoring and
extensibility. Back to the practice... Just breathing... Hmm, maybe I could
make a convenient web service out of it...

~~~
lucidrains
As someone who also meditates this made me laugh! Sometimes I find coding and
meditation to be complementary, other times not really!

------
lifeisstillgood
More and more advice on being a better programmer comes down to being a
better, more focused _person_.

~~~
michielvoo
I recently made a switch from an advertising agency (where I was working on
many different website for as many different clients) to a product company
where I just work on a single aspect of a single product that has been in
development for many years.

We use scrum and I find that the environment and this particular way of
programming in a team has made an incredible difference in my ability to focus
on a single task. What I mean to say by this, is that sometimes (and for some
people) it may help to you change your surroundings if you have trouble with
focus.

------
jferguson
> Like for example manually copy/pasting stuff from your managers Excel sheet
> into phpmyadmin. This can take you days, and it is really boring. You cannot
> always quit your job when you got a boring task.

As valuable as accepting inevitable boring tasks is, that seems to leave you
not much room to want to automate the task. Does anyone have something deep to
say about simultaneously being accepting of your circumstances and seeking
ways to improve them?

~~~
grobmeier
There is nothing wrong with completing tasks the most efficient way possible.

In this case, the copy/paste action was just the most boring task I could
imagine. Please replace this phrase with "a boring task you cannot escape at
best will". It's not really about Excel to phpMyAdmin.

I actually have seen a guy doing something like this before years. Thats why
it came to my mind. This guy was not a competent programmer. I should have
used a different example maybe. But it is not so easy to find a "boring task"
which cannot be automated in todays dev world.

Disclaimer: maybe nothing "deep to say", but this is the story which came to
my mind, when I wrote the post. In my opinion, Zen has nothing to do with
fatalism as might be understood with this example. Go ahead, make things
better. I am thinking about replacing this example, because it came back to me
several times now.

In any case, thank you for taking the time reading it and asking this
question.

------
skrebbel
> _Was there ever a software build twice, the same way? Even if you copy
> software it is somehow different._

Only a German could write this. And yes, that's a compliment. (oh, and sorry
about the shallow generalism, but that's ok when it's a compliment, right?)

~~~
exit
what makes this characteristically german?

~~~
skrebbel
Warning: generalizations and prejudice ahead.

The first sentence because it sounds so simple but is in fact deeply
philosophical. Walk around in Germany and talk to people, and keep tabs on how
often you hear seemingly simple "by the way" lines that could be considered
lovely life wisdoms in their own right.

The second sentence because Germany, for me, is a country of culture, activism
and the Piratenpartei (1). Copying something, sec, is basically the definition
of not changing it. Saying that it _is_ a change supports the ideas of freedom
of culture, sharing, the kopimi movement, and so on. "Hey, it's a copy, so
that's kind of like a remix, right?". Other than that, the sentence suggests
that a thing isn't really anything at all when seen apart from its context, so
copying something indeed very much changes it. That, again, is one such
beautifully deep observation said in such a casual way. _tab, tab_.

Finally, if you read it all aloud it just sounds weird. Until you read it with
a German accent. It sounds great with a German accent.

Full disclosure: I'm Dutch. The Dutch were once found, in a survey from the
German exterior ministry, to be the people most fond of Germans of all
countries neighbouring Germany (lost reference, but not making this up). I'm
also very fond of schnitzel and currywurst.

(1) I know the Swedes started it, but that's besides the point. Germany is
also the country where 4chan users actually go _outside_ , wearing Guy Fawkes
masks, to hand out flyers against Scientology. 4chan users. Outside.

Deeply believing in something and standing for it is very common in Germany.

~~~
grobmeier
I am the author of the blog post. Thank you very much, I take it as a huge
compliment.

I am not sure if what you said is to be generalized. I am afraid, the image of
germany being a deeply philosophical nation of thinkers cannot stand at
detailled observation.

But I can say, two things:

First, I try to write short sentences which are straight. My english skills
are OK in conversations, but I am far from being a great writer. It takes me a
lot of time to write, and almost in every sentence you can hear the german in
me. Maybe this creates a specific atmosphere in what I write. But I cannot
judge this.

Second, I am studying psychology and thus have to read a lot of philosophical
and cultural text. I enjoy it very much and try to learn about cultural aspect
as much as possible. I am also a Zen buddhist in real life (not only saying in
the post) and learn a lot from my teachers. It all makes me think.

It honors me that you attribute the deep thinking in what I wrote. Again,
thank you very much for your comment, it makes me feel good.

------
MostAwesomeDude


