(This is a snapshot of my old weblog. New posts and selected republished essays can be found at raganwald.com.)

Thursday, November 29, 2007
  The Vast and Endless Sea

If you want to build a ship, don’t drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea.
—Antoine de Saint-Exupery (1900–1944), “The Wisdom of the Sands

This is all I am trying to accomplish with my blog. When I recount stories from my experience, when I giggle with delight at a new discovery, when I describe a different way to solve problems… All I am trying to do is share my own yearnings to sail over the horizon and see what there is to discover.

And de Saint-Exupery puts it best when he describes the sea as vast and endless. It is truly about the journey, not the destination. It is fascinating precisely because there is no answer, no best way, no way to decide “we have arrived, we are done.” I know with certainty that when I end my journey, when I go to my rest, there will still be unsolved problems of software development.

In On Intelligence, Jeff Hawkins explains how the human neocortex matches visual, audible, and kinaesthetic patterns—and replays them to form the basis of prediction. He makes a convincing case that the neocortex is the single most important distinction between humans and other species… and therein explains what makes humans human.
For me, software development is an activity carried out in our minds. Our “sea” is the human brain. All of our tools and processes are ways of engineering thought and communication. The software we build in turn is a way of guiding thought and communication.

I do not say that there is no Engineering in software development. But I can say with confidence that there is room for considering it a form of Applied Psychology, or perhaps a specialized branch of Cognitive Science. And what greater journey is there than the exploration of how we think, of how we solve problems, of how we communicate and coördinate our activities?

Certainly there are practical considerations. Ships do need wood. Sailors must work with a purpose. Software must get built, and it must validate phone numbers or ensure that transactions conform to ACID semantics.

But yet, the allure of our work is the sea and the mysteries it contains. Thank you for joining me on the voyage.

Comments on “The Vast and Endless Sea:
pass me the kleenex
That's kleenex™ :-)
I wrote about that same quote in that same context here.

You might enjoy that post.

Marc Hedlund

Yes, I enjoyed it. And I found it familiar. And so it was: I included it in my daily link roundup almost a year ago, when you first published it.

Thanks for the reminder. Everything old is new again!
Quoting Tom DeMarco:

"The manager's most important task is system design. But it is not the product system that the manager needs to design, it is the system that builds the product: the project. Designing the project means hiring the right people, putting them in the right place, building teams, keeping people's spirits up, and redesigning when the result is improvable. Great managers don't even end up steering their projects. They don't have to. If they've succeeded in their design, they have constructed a project that knows how to find its own way."
I like this sort of post. Reg, you have a gift for stating things that should be obvious, but are often missing.
I have often said that what I like most about software development is that it is "philosophy made manifest".

And even better, unlike some other exemplars of philosophy, it has testable results: over time good philosophy produces good software more and more easily, while bad philosophy creates software nightmares.

As you say, a "passion for the sea" is the right place to start.
p.s. We shouldn't take all this yearning too seriously:

KRAMER (moves over and sits next to George): Do you ever yearn?

GEORGE: Yearn? Do I yearn?

KRAMER: I yearn.

GEORGE: You yearn.

KRAMER: Oh, yes. Yes, I yearn. Often, I...I sit...and yearn. Have you yearned?

GEORGE: Well, not recently. I craved. I crave all the time, constant craving...but I haven't yearned.
In the middle ages, when people built cathedrals, even the last worker, doing nothing more than cutting stone, did know what they were going to build and why.
This "what" and "why" is completely absent in todays software projects. "How" (i.e. technology) dominates. The question is : is this supposed to be progress ?

<< Home
Reg Braithwaite

Recent Writing
Homoiconic Technical Writing / raganwald.posterous.com

What I‘ve Learned From Failure / Kestrels, Quirky Birds, and Hopeless Egocentricity

rewrite_rails / andand / unfold.rb / string_to_proc.rb / dsl_and_let.rb / comprehension.rb / lazy_lists.rb

IS-STRICTLY-EQUIVALENT-TO-A / Spaghetti-Western Coding / Golf is a good program spoiled / Programming conventions as signals / Not all functions should be object methods

The Not So Big Software Design / Writing programs for people to read / Why Why Functional Programming Matters Matters / But Y would I want to do a thing like this?

The single most important thing you must do to improve your programming career / The Naïve Approach to Hiring People / No Disrespect / Take control of your interview / Three tips for getting a job through a recruiter / My favourite interview question

Exception Handling in Software Development / What if powerful languages and idioms only work for small teams? / Bricks / Which theory fits the evidence? / Still failing, still learning / What I’ve learned from failure

The unary ampersand in Ruby / (1..100).inject(&:+) / The challenge of teaching yourself a programming language / The significance of the meta-circular interpreter / Block-Structured Javascript / Haskell, Ruby and Infinity / Closures and Higher-Order Functions

Why Apple is more expensive than Amazon / Why we are the biggest obstacles to our own growth / Is software the documentation of business process mistakes? / We have lost control of the apparatus / What I’ve Learned From Sales I, II, III

The Narcissism of Small Code Differences / Billy Martin’s Technique for Managing his Manager / Three stories about The Tao / Programming Language Stories / Why You Need a Degree to Work For BigCo

06/04 / 07/04 / 08/04 / 09/04 / 10/04 / 11/04 / 12/04 / 01/05 / 02/05 / 03/05 / 04/05 / 06/05 / 07/05 / 08/05 / 09/05 / 10/05 / 11/05 / 01/06 / 02/06 / 03/06 / 04/06 / 05/06 / 06/06 / 07/06 / 08/06 / 09/06 / 10/06 / 11/06 / 12/06 / 01/07 / 02/07 / 03/07 / 04/07 / 05/07 / 06/07 / 07/07 / 08/07 / 09/07 / 10/07 / 11/07 / 12/07 / 01/08 / 02/08 / 03/08 / 04/08 / 05/08 / 06/08 / 07/08 /