You must know of Dr. Seuss (Theodor Seuss Geisel). Perhaps you read him as a child. Or you now read his books to your children. And no doubt you find him fascinating. If I were to ask you what endears him to you, I suspect you will speak of the mesmerising wordplay and the improbably delightful storyline and illustration. I would agree wholeheartedly.
But there is another reason my wife and I love his books, and that is the message in each – an introduction to some ethical or psychological question in a way that is simultaneously thoughtful and light-hearted. For that reason, high on our list of favourites from the Seuss collection are Horton Hears a Who and The Places You'll Go.
No suprise then that my first emotion as I started to read Dalton Caldwell's blog post was a sense of affinity with what he writes:
As a parent, I spend a great deal of time reading my son various books, but during this dark time, there was one specific book that came to hold more and more meaning to me as I read it. That book was Dr. Seuss' “Oh, the Places You'll Go”.
As I regularly read the book to my pre-lingual son, I began to take notice that it captured Truth about life. To be completely honest, during this difficult period, I got to the point where I had trouble reading the whole book to him without choking up. Sure, laugh if you want.
I understand that feeling.
But if the beginning of his post brought emotional concordance, I found myself analytically growing in distance as Caldwell proceeded from Dr. Seuss's greatness as a writer to lay out a thesis on the "creative process that creates Greatness" and the lesson this thesis offers for software development.
As preparation, Caldwell points out the not infrequent instances of sportspersons describing a momentous game in the most mundane terms and our misplaced disappointment at this lack of insight on their part:
Our expectation of divining some deep insight into their creative process is fundamentally flawed. They were just out there doing their thing, just like they always do, and it worked.
For Caldwell, Dr. Seuss must have arrived at his impressive work in much the same manner… just doing his thing. It's not that the sportsperson or Dr. Seuss are hiding some secret sauce from you that they use surreptitiously to churn out the greatness, but rather, their utter immersion in their work that produces the greatness:
Greatness always comes from someone with a finely honed craft, a craft honed to the point of muscle memory. In baseball, you can't be thinking about which hand goes where on the bat, and how wide your stance is, and where your feet are placed if you want to hit a fastball. All of those decisions have to be muscle memory, and you must have a clear head that is simply thinking about “showing up to play.”
This is all true, but it doesn't address the obverse – greatness might come from someone with a finely honed craft, but is being finely honed the key to greatness? The answer to that matters for the advise that Caldwell offers to software developers:
Similarly, in software, you can't be thinking about which programming language you are using, and whether you are using MongoDB or MySQL, or whether photogrid layouts are the hot new thing or not. You will never hit the proverbial fastball if that is the sort of junk filling your head. Rather, creating and shipping products needs to be muscle memory. You just need to have clear eyes, a full heart, and be ready to show up and play.
This bit of advise is, I believe, flawed, and the flaw lies in the thesis Caldwell offers on the creative process, an idea that seems to imply the division of such a process into [temporally] separate stages. At some point, the idea seems to suggest, Dr. Seuss trained himself in the English language and illustration, and then he kept at it till it became muscle memory, and eventually he got great. But what is the it? It cannot be just writing and drawing stuff. I could do that for the rest of my life and be no better than Dr. Seuss. Perhaps it is innate? Then why try at all? And I do not ask that facetiously… there is strong evidence to suggest that greatness is within the reach of but a few (good software development, fortunately, is not so limited, and we will get to that next).
A lot of modern technological activity is premised on an approach that is similar to Caldwell’s idea of the creative process. Technique, and its less popular cousin, jargon, are injected very early into the young adult, in the hope of rapidly getting him or her to show up to play, but often with the [side]effect of immunising them from introspection (by which I do not mean the Deepak Chopra version). Today, for software development for web applications, this means a lot of talk and bustle around object-oriented programming (or functional programming, if you are a bleeding edge startup), MVC architectures, NoSQL databases, frameworks and templating, Cloud APIs, so on. Even Design Patterns is making a comeback. The result, often, is not greatness, but reinvention and increased complexity. Hence the periodic "Why we abandoned CouchDB" post and its wild popularity (not to pick on CouchDB!).
What if the creative process turns out not be so clean cut, but a constant feedback loop of instinctive action and critical reflection? In truth, is that not what separates great sportspeople or writers from the rest? That they are able to constantly and consciously revise their repertoire? The story goes that when Michael Jordan found himself too old to blitzkrieg his way to the basket for those crushing dunks, he "invented" the fadeaway jumper. In other versions of this story, the invention is not a fadeaway jumper but a reverse layup. The details are likely to expose hyperbole as with any other invention story, but it is quite certainly true that what sets Jordan above his talented peers was his ability to match them on the muscle memory but exceed them on the analysis and adaptability.
As Dr. Seuss cautions in The Places You'll Go, sometimes you will find yourself in tough places – situations where you aren't the best after all, where your abilities are not going to make the cut. These are the very circumstances that often mark a fork (to continue to borrow from Dr. Seuss: a fork between those who wait, and you who shall move mountains)… and they are the ones where muscle memory will fail to serve you or worse, do you a disservice. Contra Kuhn, these are not rare revolutionary moments reserved for revolutionary people, but frequent measures or tests of progress.
Recall my stated fondness for the moral angle to Dr. Suess's books. The author, per Wikipedia, makes it clear that he has no moral in mind when starting a story: "kids can see a moral coming a mile off". However, if I argued convincingly above, this does not translate to the lack of a deeply examined and abiding moral element to Geisel's creative process. It would be strange to claim otherwise when reading Horton exclaim "A person's a person, no matter how small".
What this implies to me is a revised take on Caldwell’s advise. You cannot be occupied with decision on database engines in the middle of your play, but if you do not make such decisions (and make them in a clear way) you will always be executing the same old play. And worse, someone else’s play. In other words…
Kid, you can eat your muscle memory and have it too.
And, in fact, you must.