Please tell me when I'm being James Taggert

Last year, I read Atlas Shrugged by Ayn Rand for the first time. I wanted to relate a specific conversation from the book, why it resonated with me, and why I think it's relevant to software testers.

(There will be no plot spoiler here, so read ahead with confidence even if you haven't read the book but someday plan to. Also, some people have an allergic reaction to Ayn Rand's politics; that's outside the scope of this post.)

Towards the end of the book, there is a conversation between Jim Taggert and his wife Cherryl. It's close to the story's climax and Jim is frustrated that life isn't going his way and that his wife keeps asking him questions about what he wants. In the conversation Cherryl asks her husband, "Jim, what is it that you want to be loved for?" (What an absolutely fantastic question.)

The conversation is long. I've selected relevant clips from Jim's response(s):
"If you don't understand it, I can't explain."

"'How could I have explained it to you?' he said in the tone of abandoning hope. 'It's all so big and so complex...'"

"His shoulders sagged, relaxing. He approached her and dropped wearily down on his knees, slipping his arms around her. 'You poor little fool,' he said affectionately."

Jim's ego is very large. He is also very afraid. He's afraid of who he has become, what he doesn't know, and he's afraid of all his shortcomings. He doesn't know how to deal with those fears in a healthy way, so he lashes out when challenged and belittles those who disagree with him. It's the only way he can "win," and winning is everything.

Here's why this is important: It's easy for otherwise smart and well intentioned people, who have a lot of their personal identity invested in an idea, to lash out at those around them when their ideas are challenged.

What I found so compelling when I read this is that I saw myself in Jim. I'm not proud of that (note that this post is filed under I'm an idiot). I'm positive I've said my own versions of "If you don't understand it, I can't explain.", "It's all so big and so complex.", and "You poor little fool." Sometimes I say them in my head. In my lesser moments as a human, I say them aloud.

As someone who blogs, writes, and sometimes speaks; I generate a number of ideas (some of them even kinda good) and I get a lot of feedback on those ideas. For example, while reviewing a forthcoming article on performance testing, David Christiansen gave me some difficult feedback and I again felt my blood pressure going up. "How dare Dave tell me my approach is wrong? Doesn't he know how smart I am? It will take me hours to explain to him why I'm right and he's wrong."

I noticed my allergic reaction to Dave's difficult feedback and I took corrective action. I calmed down, told myself to shut up, focused on how much I respect Dave, and tried to put my ego aside. I got a lot of great feedback and the next morning re-wrote the first 750 words of the article.

I'm not alone. I imagine that almost anyone who maintains a blog, has written a book or an article, has gotten an advanced degree, or has some other specialized knowledge goes through this struggle at some level. (In a sick way I hope so, because I don't want it to just be me.) Most people in software development have some kind of specialization; even if their specialization happens to be becoming a generalist. Most of us want other people to think we are smart.

In software testing, we have arguments about the value of certifications, certain practices and approaches to testing, which tools to use, which books to read, and which process models to use. I think those arguments are good for our industry, and I've found them to be good for me as an individual trying to learn more about my field and about myself. However, as certain arguments unfold I've found it to be relatively easy to find the Jim Taggert's in our industry. I don't think the challenge is finding the people who will tell you "it's too complex, just trust me." I think the challenge is in not becoming one of them.

The people I respect most in software testing, whom I collaborate the most with, and whom I try to learn from, help me face up to that challenge. Whenever I'm defensive about something, I know I'm not learning. Not only does my learning suffer, but those around me suffer as well if I withdraw or I lash out. If you catch a glimpse of my inner Jim Taggert, please tell me I'm being an idiot.