Code Architecture Wisdom from Dune

I’ve been working my way through the first 4 books in the Dune series by Frank Herbert. I find them to be a very interesting and thought-provoking look at humanity, government, faith, and the effect of power on the same – especially with the current political situation in the USA.

While reading The Children of Dune (book 3), I ran across a quote that I think is a phenomenal summation of my philosophies as a code architect and programmer. The quote was originally about “mentats” (basically human computers), I have paraphrased it, and modified it slightly to be about architects:

‘Above all else, the [architect] must be a generalist, not a specialist. Experts and specialists lead you quickly into chaos. They are a source of useless nit-picking, the ferocious quibble over a comma. The [architect] on the other hand, should bring to decision-making a healthy common sense. He must not cut himself off from the broad sweep of what is happening in his [application]. He must remain capable of saying “There’s no real mystery about this at the moment. This is what we want now. It may prove wrong later, but we’ll correct that when we come to it.” The [architect]-generalist must understand that anything which we can identify as our [application] is merely part of a larger phenomena. But the expert looks backward; he looks into the narrow standards of his own specialty. The generalist looks outward; he looks for living principles, knowing full well that such principles change, that they develop. It is to the characteristics of change itself that the [architect]-generalist must look. There can be no permanent catalogue of such change, no handbook or manual. You must look at it with as few preconceptions as possible, asking yourself: “Now what is this thing doing?”‘

– From Children of Dune by Frank Herbert (1976)

I really believe architects must take a generalist view. To be effective, you must be able to look at a project as a whole: code, usability, aesthetics, motion graphics, business process, project objectives, brand requirements, user profiles, stakeholder concerns, etc. You must understand that your specialty and it’s mantras (design patterns, OOP, et al) are secondary to the objectives of the project. You must embrace the fact that the standards and technologies you are an expert on are in a constant state of change – that what you know and believe today may be wrong tomorrow. Ideally, you should look at this reality with anticipation and even excitement. This continuous state of change is what makes this job / industry so much fun to be a part of.

Keep thinking. Keep learning. Keep having fun.

Grant Skinner

The "g" in gskinner. Also the "skinner".

@gskinner

7 Comments

  1. Excellent post Grant.

  2. Torbjørn Caspersen November 4, 2004 at 1:06am

    I totally agree! As an trained architect gone designer/coder, I find that the study of architecture is suprisingly relevant to coding (I know that not quite the sense you’re using architect in, but still). It’s about relating to large, complex task with an balanced focus. No sense in making the most cunning recursive algorithm if the GUI is incomprehensible.

  3. Randy Troppmann November 4, 2004 at 9:58am

    The first DUNE book is one of my all-time favorite books. I read up to book 5 and someone told me just to stop there. Frank Herbert was a genius.

    A commitement to life long learning is essential.

    I wonder what a spice-induced flash developer would come up with.

  4. Thanks for the tip! I’ve been meaning to read the Dune trilogy for a long time.

    I just finished Christopher Alexander’s “Notes on the Synthesis of Form”, 1964. This book is a precursor to his landmark book “A Pattern Language” that helped kick off OOP consciousness. Alexander describes the roll of the “specialist” as too far removed from the reality of the problem. His use of architecture as metaphor for showing complex relationships speaks perfectly to the challenges of programming. Highly recommended!

  5. annie corkhill April 8, 2007 at 9:57am

    can anyone tell mewhat frank skinner`s real name is please???

  6. Chapterhouse Dune is the 6th and final book in the series by Frank Herbert and well worth reading. Do not stop at 5.

Comments are closed.