Why Reinventing the Wheel is Good

A comment on the second installment of my Virtual Creation series caught my eye. In particular,

I love software programs that have “tools” to create things … color options and the whole range – but at the same time are we ever complete masters of our software programs? Do we ever know 100% everything there is to know?

These two questions beg for a quick and easy answer — “No, of course not!” However, as I was writing a response to Anne’s comment I began thinking about the process I use to learn more about my preferred program, Carrara. I started considering the major strides I’d made in improving my image quality, and I realized something astounding: only one or two of the major advances I’d made in using Carrara (out of about a dozen) came from tutorials or information specifically about Carrara. Most of the best tricks I now know I learned from tutorials for other software.

Most of the best tricks I now know I learned from tutorials for other software.

This is incredibly important, and points to something more fundamental than just mastering software. At its best, learning is a messy, mistake-ridden, exploratory affair. It’s  hard work marked by repeated failure, and evidence of success reveals itself only through the occasional “a-ha” moment or (more likely) through reflection over previous experiences. It’s not easy, it’s never obvious, and it requires dedication and time.

However, when was the last time you said to yourself, “I need to do ____, so I’m going to go fail repeatedly to learn as much as I can about it!”? Most of the people I know are much more focused on reaching that product, ____. As I heard all the time from my colleagues when I was a professor, “We don’t want to re-invent the wheel.” Such an attitude is a reasonable and responsible acknowledgement of the world we live in, right? After all, we have limited time and limited energy, so finding out what others have done so that we can use it is an efficient use of resources. Right?

Maybe, but probably not.

Why?

The jazz trumpet player Clark Terry is well-known for summarizing how artists learn to play jazz in three words: “imitation, assimilation, innovation.” I believe, however, that he’s captured the very essence of learning, regardless of subject. Almost all learning starts with imitation. We watch someone else do, then trying to mimic that person’s behavior to get the same results. The perfect example of this is young children; they do this naturally. If the person actively watches and corrects our attempts to mimic them, then we call it teaching. Tutorials and recipes serve the same purpose, in that they often give direct and pointed instruction to follow to produce a desired outcome. Questions often associated with people at this level of learning start with “who”, “what”, “when”, or “where”, and tend to be very concrete and fact-driven. The imitation stage of learning is very important. It serves as an introduction to the basics, and provides a fundamental overview of how things work in the subject.

The next level, assimilation, goes a step farther however. At this level you can reliably (but probably not perfectly) reproduce a given outcome with the same set of actions. With enough such recipes you can begin to develop your subject intuition. The definition by Merriam-Webster’s online dictionary is “quick and ready insight”, or “the power or faculty of attaining to direct knowledge or cognition without evident rational thought and inference”; I’m going to twist that slightly, and define intuition as “the weight of experience that allows one to comfortably predict the result of an action without performing it.” In other words, your intuition is a measure of how comfortable you are with the recipes — how much you’ve assimilated them into your thought processes. This is the goal most teachers and professors have for their students.

Assimilation has a second, rarely recognized piece. Once you’re comfortable with the recipes, you should begin taking them apart to understand how they fit together. This level is characterized by the question “why”, and it is the driving force in growing to a basic competency within the subject area. It’s often said that teaching a subject to someone else helps the teacher more than the student. In correcting someone else as they learn the recipes, you’re forced to examine the underlying structure of the recipes themselves — you start understanding why and how the steps are connected, which then gets assimilated into your ability to predict how they interact — your intuition grows. (As an aside, this is the part of teaching that I love — although I like helping others improve their skills, the big reward for me lies in understanding my own subject matter better!) Those working at this level are usually considered competent with the subject area.

Finally, the third piece, innovation, is very rarely addressed at the post-secondary level, and is only sometimes addressed in graduate schools. At this level the recipes serve as shorthand, although they’re not necessary. They’ve been replaced by a deep understanding of cause and effect; trust in experience and intuition guides behavior at a fundamental level. We call a person who reaches this level an expert; this is the point where I would consider them to have mastered the subject. It doesn’t mean that they know everything about it, but their learning from here on out will be pushing the bounds of what’s known, and pushing the bounds of what’s possible — Innovation. People working at this level often leave the rest of us scratching our heads saying, “how did she do that?”

So What’s Wrong with Wanting to “Not Re-Invent the Wheel”?

The statement “don’t re-invent the wheel” has, at its root, the idea that you’re wastefully duplicating someone else’s efforts. The problem is that in almost all situations the “wheel” is a recipe — it was something developed by an expert (or so you hope), based upon their understanding and intuition, to solve a specific issue they were having. Unless your situation needs an identical solution (which in my experience is extremely rare) you’re going to spend a lot of time and effort mimicking the “wheel” and wondering why it won’t roll. In your attempt to be efficient, you end up being wasteful. And woe be yours if you implement a wheel that you don’t understand; you may end up worse off than when you had no wheel at all. How many companies have gone out of business because they implemented some other company’s ideas without understanding or adaptation? *cough*Borders*cough*

I’m not saying that you shouldn’t study other people’s wheels. As I pointed out above, imitation is the first step in learning, and there’s no better way to learn than in checking out what other people have done to solve their own problems. However, don’t stop there. Assimilate the lessons you learn from those wheels. Understand what problems they were designed to solve and how they were put together to attack those problems. Build your intuition. Figure out which pieces apply to your situation (and why), and which pieces you’re better off leaving behind. Then, once you’ve finally worked with many wheels and fully understand the principles governing those wheels, you can innovate and invent your own wheel! At this point you’re not re-inventing anything — you’re innovating, creating something new that’s designed specifically to solve your problem. And if something goes wrong, you have the expertise and intuition to fix it properly. Focusing on “not re-inventing the wheel” means you’re denying yourself the chance to invent the wing, or maybe something even better.

Back to the Beginning

When I honestly consider my experience and understanding of Carrara, I realize that I’m firmly in the midst of assimilation. I know how to do a lot with the program, and I can produce some rather nice images. But I’m still learning why things work the way they do, and I still sometimes have trouble predicting what result tweaking a setting will have. In fact, this is one of the reasons that I concentrate on non-Carrara tutorials. By following tutorials on other software I’m forced to try to tease apart the cause-and-effect relationships described in the tutorial, then apply it to my program. It’s a messy, mistake-ridden, exploratory affair. It’s hard work, marked by repeated failure, and I only see progress occasionally when something “clicks”, or when I sit back and reflect on where I was a year ago. Looking forward, however, I can see that my efforts will lead to greater intuition, and greater mastery of the software. My artwork will only become better as I invest time into not just learning how to reproduce what others have done, but also into learning how to produce new things that are uniquely my own. Eventually I will be innovating; at that point I would consider myself to have mastered the software.

But what do you think? Have I completely missed the point on this, or am I dead on? Share your thoughts and intuition below!

Your Thoughts