Another case for seeing failure as a GOOD thing

Read Quote of Marcus Geduld’s answer to Why do we get frustrated when learning something? on Quora

“School trains us to get frustrated when we fail.

Failure is a very good thing. It’s one of the best — maybe the best — learning devices. Yet rather than capitalize on it, most schools work hard to turn failure into something distasteful. And by the time people graduate, having spent most of their formative years in an institution where failure is a sin, they have a huge aversion to failing.

In most schools, the major structural element is ranking. We’re wired to take ranking seriously. As soon as ranking exists, we care about it. A, B, C, D, F. Pass/Fail. And in the worst-case-scenario, you fail and are “kept back a grade,” which affects you socially.

I have many memories of teachers compounding the problem. The didn’t say, “How interesting: you got an F. Let’s examine the situation and see how that happened…” Instead, Fs came with stern lectures. When we got Fs, teachers (and parents) were very disappointed in us.

They didn’t tell us that failure was a natural part of the learning process. They told us we had let them and ourselves down. We were basically told, over and over, for years, that if we got Fs, it was because we were lazy or stupid. Laziness is a moral failing; stupidity is an innate deficit. Failure — school tells us — means we’re moral and physical cripples.

People (understandably) hate this so much, that as soon as they can, they put themselves in a position where they never have to fail again. (Or where the chances of failing are as small as possible.) They find jobs that aren’t all that challenging after an initial learning curve. The goal, conscious or not, is to coast for the rest of one’s life.

Which gives adults very little day-to-day experience with failure. Most people I know failed at certain subjects in school (maybe not by getting Fs, but by struggling with those subjects for years), and now have simply decided “I’m not a ______ person” or “I just don’t get _______”, e.g. “I’m not a Math person” or “I just don’t get Shakespeare.” That absolves them from trying. Which keeps them from failing.

This is not the way we start out. If infants decided, after many hundreds of failures, “I’m just not a walking person” or “I just don’t get talking,” we’d all be screwed. Luckily, those skills are acquired before school gets its clutches on us.”

A Maker’s Case for Evidence of Learning

“I continued to think about the questions for several months. Then one day I had it in a sentence. ‘Making creates evidence of learning.’ The thing you make—whether it be a robot, rocket, or blinking LED—is evidence that you did something, and there is also an entire process behind making that can be talked about and shared with others. How did you make it? Why? Where did you get the parts? Making is not just about explaining the technical process; it’s also about the communication about what you’ve done.”


Coding and Decoding (Diana Kimball)

At her Berkman Center talk today, I loved Diana Kimball’s  characterization of programming not as an activity that’s focused on a product, a complete working program, but rather as a series of debugging steps. Programming is not about reaching the end; rather, it’s about focusing on the part of the program that’s not working and fixing that and understanding more, then fixing more and understanding more, then fixing more, etc. Its a reiterative, continuous process that has as its goal that very activity: fixing, learning, improving, fixing, learning, improving. And that requires a certain mental attitude. It trains us in humility and in developing mental fortitude. Resistance. Self-confidence. Boldness. Perhaps some faith.

Programmers remain students. Always. There are always new languages to learn, new patterns to study, new combinations of old narratives to keep up with. And if you stick with it long enough, you create.

Understanding an architect’s intention, a statue’s origin, a language that’s not your native one allows your to derive more meaning from the world around you. That understanding adds layers of meaning. It adds rich patterns, sometimes stories.

And the architecture in which most of us spend hours and hours of our day is that of the Internet. It’s the rooms we make with computer screens. The right and left turns we make with clicks. And Diana makes the point that speaking that language means we can experience that world differently. More richly. Learning to code (and added to that- learning how the Internet, etc. works in the first place) adds to those experiences we have behind screens.

I hope Diana doesn’t mind if I repost her “Coding and Decoding” course description and some other links she led me to. As I continue my self-teaching journey, they include many ideas I want to keep in mind.


by Diana Kimball

“This course is about the deep end, and building the courage to plunge into unfamiliar places. Using lessons derived from the practices of cryptography, programming, and foreign language acquisition, we will learn to deduce information from context and recognize new patterns.

A language—of jargon, words, symbols, gestures, or images—is a collection of tokens. Shared language is a primary marker of community, a handy in-group/out-group indicator. The more languages we know, the more patterns we can recognize; the otherwise fleeting signals around us sink into meaning. Finding the pulse in what would otherwise be white noise, we come to understand and affect the surrounding world.

Coding and Decoding aims to confront two realities.

ONE: Languages are everywhere, and everywhere they are crucial. By expanding the scope of “foreign languages” to include unspoken languages (such as Perl, Ruby, and HTML) and hyperverbal tongues (such as the vocabularies of science, slang, and religion), that scope begins to include tools not just of communication, but of invention.

TWO: Most languages are most useful to know upon first encounter. But, precisely because it is the first encounter, it is the very time when we understand them least. This course aims to elevate the experience of first encounter. Through repeated and total immersion in unfamiliar endeavors—new countries, new communities, new machines—we will learn more quickly how to float.

Coding and Decoding is about all modes of communication, and all are in its view. But it is built with particular attention to the future, and what that future will be like. Technological experts can seem like magicians, conjuring effects wordlessly. By approaching that magic as a collection of component parts instead of an indivisible miracle, we can learn to see through these sleights of typing hands. In seeing through, we will learn to perform them ourselves; and think, as magicians, about the worlds we will build.

Language, now, is about more than communication. It is the architecture behind much of what we experience. Understanding that architecture will allow us to experience more.

Decoding requires immersion, patience, and attention. Coding comes more haltingly, but it comes most surely and usefully out of decoding. This class will require curiosity and endurance.”

Celebrating Failure

Imagine a group of kids in a math or programming class at their school. A kid raises her hand and says “Teacher, my program isn’t working. I’m stuck.” What if the teacher’s response was “Great! That means we get to go on a debugging adventure.” Another kid raises his hand and says “I made a mistake. I can’t figure out the answer.” The teacher responds with “Yay!! That means you’re pushing past your limits and really learning.”

What if we told ourselves those words every time  we feel we fail at something? What if we celebrate that and are excited about the opportunity to push beyond our failure and know that means we’re learning? Because that means we’re doing something hard. Something worthwhile.

I envision classes filled with these types of responses. I want to see online tutorials with pop ups that say “That’s not the right answer. Cool. That means we get to go on a learning journey. Let’s iterate.” What if our focus was purely on joy of the learning process, not the outcome? What if we introduce narrative to failure, meaning that we think of failure as opening a door, a process, an ongoing opportunity to retrace our steps and get at the crux of the problem. A bug in code becomes a treasure. Debugging a treasure hunt. We are the characters on a quest to find our mistakes, to make them precise and explicit. Because that gives us the opportunity to stretch ourselves, to engage in critical reflection, to grow. It also gives us the ability to develop mental fortitude, internal strength. We would practice the art of iteration, the art of self-improvement. What if that process becomes something that makes us come alive? And if continually making mistakes and failing becomes a way of life?

I want to celebrate failure. And celebrate the failures of others. Because that means we’re stretching ourselves, developing mental fortitude, invited to be creative and truly alive.