For an industry that prides itself on its analytical ability and abstract mental processing, we often don't do a great job applying that mental skill to the most important element of the programmer's tool chest: ourselves.
“What an IDIOT!”
My wife has used the “I-word” several times before. Lots of “several times before,” in fact. Usually, it's aimed in my general direction when I do something stupid, like forget to bring the thing we were running to the mall to return, or when I forget to clear the backyard deck of furniture and other stuff so we can power-wash and repaint it, or when I forget to pick my 14-year-old up from the airport when he comes home from visiting Grandma and Grandpa's for the summer.
(Yeah, I heard it a LOT that time. From both my wife and the 14-year-old.)
And, to be fair, it's not really an instrument of insult within my family. We sort of adopted it when I started using it more often, usually in House-ian fashion when dealing with family, friends, co-workers, colleagues, or (sometimes) conference attendees.
For those who aren't familiar with the television show “House,” Dr. Gregory House is a brilliant diagnostic doctor, able to solve the medical mysteries that stump the rest of the hospital. But he's got the bedside manner of Godzilla and all the tact and diplomacy of a stampeding herd of buffalo in a china shop filled with vegetarians and PETA members, and he leverages that brilliance to actively belittle the people around him. Usually, when he realizes that one of his staff made a mistake, he says, “You idiot!” and explains what the mistake was in the most insulting and deprecating manner possible. In what is probably one of the most endearing aspects of the character, he's absolutely even-handed in his judgments of humanity: he doesn't exclude himself from his analysis or scathing indictments of human fallibility.
Yeah, I admit it. He's kind of my hero.
But in this case, my wife was feeling really bad about a mistake at work. Without getting into the details, suffice it to say it involved an email that had a wide distribution list, and sent groups of people outside her part of the organization nearly into a blind panic. It was an honest mistake, but being who she is, she immediately launched into the self-flagellating verbiage, with “I can't believe I'm that stupid” being probably the nicest of the lot.
Turns out, I have a confession to make: My wife is an idiot. About being an idiot, I mean.
2 + 2 = ... uh ...
A decade or so ago, a psychologist wondered what the effects of our mental self-images were, and how to test for it. She wanted to see if statements like “I am clumsy” or “I can't learn to dance” were somehow different to us, inside our brains, and thus led to some kind of difference in how we approach life. As with all psychological experiments (those not conducted on Facebook, anyway), she sought a way to have all the elements of the Scientific Method: a control group, and more importantly, a way to test only the issue under question.
Her approach was based around the math skills and scores of 7th-graders (13-year-olds) at an underserved middle school in the US. She noticed that coming up through 6th grade, students seemed to have fairly uniform math skills and scores, but that starting in 7th grade, students either seemed to flourish or die - skills and scores took a noticeable drop in the 7th grade, and were often associated with all the problems we've come to expect out of “bad students,” like absenteeism, bad behavior, and
eventually, dropping out of school entirely. If somehow these students could be reached and the causality of the low scores and bad behavior could be nixed, these students could have a much better chance at a much better life.
Her approach, as is common in psych experiments, was to split a classroom into two parts: one group got the same math tutoring their predecessors and peers in other classes received - this was the control group. The other group got a very different kind of tutelage. Rather than focus on new ways of thinking about math, or rigorous adherence to discipline around turning in homework, this second group was bombarded with a simple message: Math is a skill, and it's one you can constantly improve.
The results were startling: the first group, the control group, did as well as any of their predecessors, exhibiting pretty close to exactly the same results as before. But the second group performed light years ahead of the control group. The second group ranked consistently high within the class. And follow-ups on those students showed that it was across-the-board with all of their education, not just math.
Why the stark difference?
Being an Idiot
It turns out that when we describe ourselves as “being” something, it's assumed that this is somehow an inherent quality of being. “You are smart” or “you are clumsy” or “you are a great listener” are inherent qualities of an individual, like eye color, height, or skin tone, that were somehow imprinted on us at birth. It's part of our DNA, and one thing science hasn't figured out yet is how to change DNA. If you're smart, then you're always smart. If you're clumsy, then you're always clumsy. And if you're bad at math, well, then, you're just never going to get it and (here's the kicker) you may as well just give up.
And that's exactly what the kids do.
What her research (and other, subsequent research around the same areas) revealed is that people who understand that intelligence - or problem solving, or programming, or dancing, or glassblowing - is a skill, instead of an inborn talent, will stick with a problem for far longer than those who believe otherwise. And this isn't just an “oh, those poor kids had parents that belittled them” problem. Quite the opposite, really. Those kids who were told they “are smart” believed it, and as long as they could crank out the answers to the homework, the evidence supported their internal view of themselves. But when they ran into difficulties for the first time (and let's face it, algebra is not easy the first time you see it), they thought, “Crap, I guess I'm not as smart as I always thought I was, and if I'm just not smart enough to get it, why keep banging my head against this?”
In contrast, when you're told that your brain is a muscle, and like any muscle it needs exercise to get stronger, then failure of any kind is only seen as a momentary setback. The first time I swam 500 yards in a high school competition, the winning time was somewhere around 6 minutes, and I finished in something like a month. But of course that was to be expected - it was my first race, and there's no way I could possibly have done any differently. As I practiced, though, and swam more races, eventually I got it down to 6 minutes 30 seconds (my best time). It was still not enough to win, but it was enough to pick up points for the team as a whole. And if I'd been willing to practice more, I probably could've gotten it down to sub-6.
This distinction, once realized, can have amazing and powerful ramifications. Liberating, even. One researcher from the study reported that when one student in particular finally understood what the researchers were telling him, he looked up at her and said, “You mean I don't have to be stupid anymore?” and burst into tears.
You're Still an Idiot
My wife is not a stupid person. She's done some stupid things, but she's hardly stupid. In fact, I dare say that she's probably smarter than me - her analytical skills frequently trump mine, she typically remembers details far better than I do, and she's often quicker to deduce things from the evidence in front of her than I do. I've learned over the years, usually the hard way, to trust her. And I get really annoyed when she beats me at games.
But she's human, like all of us, and she makes mistakes. The key here is that she understands that “making” mistakes is not the same as “being” a mistake, that she can “do” a stupid thing without “being” stupid. She can hit “Reply All” instead of “Reply” without calling her IQ into question. And this is true of all of us: If I start learning Go (either the game or the programming language, take your pick), I'm going to do some really stupid things at first. The first couple of programs I write may not even compile, and the first few games I play against my ranked Go-playing best friend, I'm going to lose horrendously even with the maximum handicap.
If I fail at something, it's not that I'm stupid, it's that I've simply done a stupid thing. So long as I admit the mistake, rectify whatever damage the mistake has made, and look for ways to avoid the mistake in the future, it's all good. I give myself the opportunity to screw up and make mistakes, and forgive myself for making those mistakes ahead of time, because that's how we all had to do it, regardless of subject, regardless of talent, regardless of subject.
To accept anything less of myself would make me–well–an idiot.