Saint Sava (saint_sava) wrote,
Saint Sava
saint_sava

  • Mood:
  • Music:

Dogen and database integration.

In addition to developing software for a living, I also take every chance that I can get to teach and train less-experienced developers. Some of my students, primarily Asian students or those who have taken a class in Eastern philosophies, have told me that they've heard before most of what I had to say, but never applied to the highly logical and dualistic field of software development. It's not because I'm a good practitioner of Zen that I choose to speak of programming in the way that I do; I'm not. I have simply found that there is, to begin with, no Western approach or alternative which suffices.
The Western educational process, in my experience, is good at creating intellectual paper tigers. The curriculum, which is rarely up-to-date, generally focuses on enumerating the tools and their recommended uses, placing -- better, pressing -- them into hands of students, and any discipline incidentally taught to them along the way seems to focus on learning how to adapt one's hand -- or mind -- to the tool. When they get to the workplace, they chafe at practical ambiguity, having never been exposed to it, and fail to recognize, or recognize the value of, applied ambiguity. As a result, I find recent college graduates nearly insufferable, if for no other reason than they bear (and bear so defensively !) so many misconceptions that it is impossible for them to write anything of value.
It is exactly this point that Zen addresses: I should think that the achievement of satori should be perhaps one of the easiest, most natural progressions available to the mind; the brutal obstacles and impassabilities all lay in the path of unlearning what we have all so dutifully and readily learned improperly; it is not so much the faulty assumptions as the fundamental misconceptions harbored by even experienced programmers -- most notably myself, I still must add -- that stand in the way of purposeful productivity, and my particular path to resolving these difficulties lay on the well-trod path that few of my colleagues are aware of: most of the act of programming must happen away from the keyboard, away from the workstation.
I love to tell the story of the Japanese masons, architects, and artisans appointed to work on temples and shrines: once a location was chosen, they would live on the site, observing the weather, the wildlife, the character of the sunlight, before laying a single brick. This is still particularly troublesome lesson for me to digest myself, I am quick to point out; being comprised of the worst parts of a programmer and an engineer, by the second sentence of a specifications document I'm already thinking about implementation. It is in this manner that we rush into oblivion.
Secondly, and more forcefully, I underscore the importance of a rapport with and respect for one's tools one creates and uses daily, as they are the truest reflection of one's inner understanding of the topic at hand. At the Japanese shrine of Hari-jinja is held an annual ritual where broken sewing needles are placed to rest, as an offering, into tofu.
The master Dogen (1200 - 1253) writes:
"When a fish swims, it swims on and on, and there is no end to the water. When a bird flies, it flies on and on, and there is no end to the sky. There was never a fish that swam out of the water or a bird that flew out of the sky. When they need just a little water or sky, they use just a little; when they need a lot, they use a lot. Thus, they use all of it in every moment, and in every place they have perfect freedom."
This quote is my favorite way of ending a session. I feel strongly that there is more inside that statement than I am yet capable of seeing, but to students and young professionals unaware of the importance of unconscious mind it is an accessible way of suggesting that there is a pattern of thought they may be missing.
The golden days of hacking are gone: what's left hardly qualifies as legend. The palpable results are the ability to make a living doing what we do, a respect on behalf of non-developers for those who code well, and a certain tolerance towards the eccentricities of its practitioners. In all my time as a developer, I can count on one hand the number of times I've heard questions like "Where are we ?", "What are we trying to do ?", and "What is the right thing ?" I fail to understand how any other question could have meaning before these questions are asked.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 1 comment