Making mistakes is one of the best ways to learn. Yet, we are taught to believe that making mistakes is wrong, and students are penalized for mistakes. That is unfortunate, and in this post I wish to argue for the merits of making mistakes.
Watch a baby learn — moving about, grasping, throwing, speaking, and so forth. A parent would be justified in serious concern if their child did not make constant, though unsuccessful, attempts to move about, grasp, throw, or speak. The child learns to succeed through repeated attempts, most of which are unsuccessful. Thousands of attempts to move about, to grasp, to throw, or to speak strengthen the neural and motor structures which allow for later success.
Youth is the period of our lives when we learn the fastest. I think that is partly related to it being the time when we attempt the most, that is, make lots of mistakes. Perfection and predictability are in opposition to the ability to learn.
I heard a story of an engineer in a research institute, who, when he had an idea, would try it out on his colleagues, one by one. He would walk into someone’s office, set forth the idea, and it would be shot down, full of flaws. He would revise his idea, and go to the next colleague — same result. After he had visited many colleagues, his idea would have become refined by the various circumstances and considerations set forth by his colleagues. If his idea survived, it would be robust. Most ideas would not survive unscathed; in fact, most might not survive the chain of validations at all. But the good ideas — the few percent that were really worth pursuing — would become much better. That engineer must have been known to his colleagues as a person who made lots of mistakes. It takes guts, or humility, to appear “silly” in order to keep learning new material, since that invariably involves mistakes.
I was trained as a mathematician, a field which, more than most others, puts a high premium on error-free problem solving, the avoidance of mistakes. When I became a computer programmer, it took a while for me to discover that the most effective way to program is to develop partial solutions, and then refine them (debug them) against realistic requirements. Effective programming involves the art of making mistakes, repeatedly, and learning from and extending the software based upon the experience of those mistakes.
Having returned to the academic world, in retirement, as a student, I notice that academic life puts a high value on being relatively mistake-free. That is a trap, a social pressure that can lead to reduced productivity. Mistakes, lots and lots of mistakes, whether in academic or industrial settings, are important in order to make progress.
Here’s hoping that you are able to enjoy making mistakes, as much as I do!
Ken Roberts
28-Jan-2014