Reading the Tao, several of it’s short chapters seemed to speak to me as a programmer. I’ll quote some of them here and give my thoughts.
Chapter 4
The Tao is like a well:
used but never used up.
It is like the eternal void:
filled with infinite possibilities. It is hidden but always present.
I don’t know who gave birth to it.
It is older than God.
In this chapter, the Tao reminds me of the ideal code behind a software application. Its code can be used again and again, as many times as needed. It’s objects and classes can be used in infinite combinations, making for very flexible software. The users can’t see the code, and may not even know its there, but it is.
The last two lines are a little harder to fit into this perspective. Perhaps this is referring to some of the old BASIC and FORTRAN programs my grandfather wrote in the 70’s and 80’s ~~- Powerful and flexible for their time, yet impossible to maintain :~~)
Chapter 63
Act without doing;
work without effort.
Think of the small as large
and the few as many.
Confront the difficult
while it is still easy;
accomplish the great task
by a series of small acts.
The Master never reaches for the great;
thus she achieves greatness.
When she runs into a difficulty,
she stops and gives herself to it.
She doesn’t cling to her own comfort;
thus problems are no problem for her.
This chapter describes the ideal attitude for a programmer. In my mind, this passage speaks for itself. I’ll leave the commentary to you.
Chapter 64
What is rooted is easy to nourish.
What is recent is easy to correct.
What is brittle is easy to break.
What is small is easy to scatter.
Prevent trouble before it arises.
Put things in order before they exist.
The giant pine tree
grows from a tiny sprout.
The journey of a thousand miles
starts from beneath your feet.
Rushing into action, you fail.
Trying to grasp things, you lose them.
Forcing a project to completion,
you ruin what was almost ripe.
Therefore the Master takes action
by letting things take their course.
He remains as calm
at the end as at the beginning.
He has nothing,
thus has nothing to lose.
What he desires is non-desire;
what he learns is to unlearn.
He simply reminds people
of who they have always been.
He cares about nothing but the Tao.
Thus he can care for all things.
This passage brings me back to the Pragmatic Programmers who detailed such practices as
- Care About Your Craft
- Think! About Your Work
- Don’t Panic When Debugging
- Remember the Big Picture
- Abstractions Live Longer than Details
and just about every other chapter in their book, seems to speak this chapter of the Tao.
Overall Thoughts
A word of advice for all my programmer readers out there (I think there might be 2 of you): As a first step, put away that book on Ajax, Ruby, Haskell, the upcoming .Net Framework or whatever the latest language is and pick up some books that will help you become a better programmer in general. Second, at the same time, do not forget that programming does not exist in isolation. Be sure to expand your mind and spirit to other ideas outside of the day to day grind. I’ll end with a fitting stanza from Chapter 12 of the Tao Te Ching:
The Master observes the world but trusts his inner vision. He allows things to come and go. His heart is open as the sky.
Quotes taken from Stephen Mitchell’s version of Lao Tzu’s Tao te Ching. (c) 1988.