Archive for the ‘I'm an idiot’ Category

Please tell me when I’m being James Taggert

Thursday, January 17th, 2008

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.

Late nights, early mornings, too many projects, and Hyperion IR Web Client

Wednesday, January 9th, 2008

I’m no stranger to work. I’m what some might call a workaholic. However, recently I’ve been working too much. Between my day job, writing, and AST I’m a bit frazzled. One of the nice things I’ve found about our community is that when the going gets tough, people are there to help.

In AST, Scott Barber and Cem Kaner have picked up some of my slack, and I’m very appreciative. In my writing, my now long-time co-author has been patient and encouraging as we work through (yet another) dry spell. And at work I’ve recently had the pleasure of interacting with Alex Podelko as I’ve tried to struggle through too many projects (often at odd hours).

I’ve been doing a lot of multi-project multi-tasking (read more about that here). It’s kinda like putting your brain in a blender. A couple weeks ago I remember interacting with one of my team members and them stopping the conversation because I couldn’t focus long enough to process the information they were giving me. Not good…

Recently, these behaviors became manifest as I was working with one of our performance testers to create some performance scenarios for Hyperion IR Web Client. We couldn’t see traffic in the recording for the scenarios once the Web Client was loaded. Thinking we had an incorrect setting, like all performance testers we turned to Google for the answer. You can’t throw a rock and not hit Alex’s name if you Google performance testing and Hyperion. I’ve ready plenty of Alex’s writings, so I figured this was as good a time as any to introduce myself.

Alex was incredibly helpful in helping me work through my problem. He asked questions, sent me code, and looked at my screenshots. At one point Alex very gracefully took at step back and asked me what exactly was I trying to record. I think he figured out that I clearly wasn’t thinking, and he very nicely pointed that out. Web Clients run on the client side (hence the nifty naming convention); after you load a document nothing is communicated to the server until you request data. Data conversion, building graphs, filtering, etc… all happen on the client side.

I was trying to record client-side activity with a performance test tool. I would like to think that on a good day, I would know better. As I continue in my transition from technical leader to manager, I wonder if this is one of the common ways in which managers lose their ability to contribute productively to technical solutions. It’s not that I don’t still possess the technical skills; I’m sure I do. It’s that I can’t focus on anything long enough to get the clarity of thought one needs when solving difficult technical problems. I’m sure Rothman’s written about this phenomenon extensively (and I’m sure I’ve read it – I just can’t remember right now).

Correcting my poor communication

Friday, October 26th, 2007

Last year I read Behind Closed Doors: Secrets of Great Management by Johanna Rothman and Esther Derby. The book is well written and is told in an interesting way. In the back of the book, there is a section titled Techniques for Practicing Great Management. In that section, I found a list of questions designed to help managers make the progress of any project contributor more visible. You might try asking questions like the following:

  • How will you know when you’re done with that?
  • What steps will you take?
  • Which part will you work on first?
  • Can you provide a picture or a measurement of work to date?
  • Do you need to collaborate with anyone else on this?
  • How will you know you’re making progress?
  • Who needs to be in the loop if you are unable to finish this on time or run into problems?

When I finished reading this list, I noticed that some of these questions were eerily familiar. In fact, a past manager had asked me those questions before. I remember thinking about why he would be asking me those questions because I always report my progress.

After reflecting on the questions a bit more, I began to recognize that I had not been effectively communicating my progress. Without even being aware I was doing it, I had stopped. Not only have I not been communicating progress, I haven’t even been telling my manager what I’ve been working on.

I see three reasons as to why this might have been:

1. I didn’t yet really understand the scope of the work I was doing. I knew what I wanted to do, and I knew how I wanted to do it, but I was still trying to work out the steps to get from point A to point B. Because I didn’t truly understand the work yet, I couldn’t think of a way to explain my tasks to my manager yet. When he asked what I’d been doing and what I planed to do, he was looking for a level of precision that I just didn’t have yet.

Mark: “Which part will you work on first?”

Me: “I don’t really know what the parts are yet. I’m still trying to figure that out.”

Mark: “How will you know when you’re done with it?”

Me: “I don’t know yet. I’m still not sure what ‘done’ means. It’s a complex set of tests and I still don’t know what they will look like.”

Mark: “Do you need to collaborate with anyone else on this?”

Me: “Of course, I just don’t know who yet.”

As you can see, I was very vague.

2. My manager was new (to me). The old manager just rolled off the project and this manager had not yet been ‘tested in battle.’ We didn’t yet have a history or a working relationship. It’s hard to develop a working relationship with a new manager. We didn’t know to communicate yet and we both had different expectations for what the person in our roles should be doing.

Therefore, much of what he asked me smacked of micromanagement. When in truth, it was more likely that he truly didn’t know what I was doing and he was just trying to learn the only way he knew how - asking questions. Nothing wrong with that…

3. Finally, I was moving off the project in the near future (or at least my status with the project was rapidly changing). That meant that I didn’t really want to take the time to build the relationship like I normally would have. It’s hard work getting to know how to work with someone new and I just didn’t want to put in that effort.

Once I recognized my behavior, I needed to fix it.

Starting the Monday after I finished the book, I took the time to invest in the new relationship. It was not his fault he was new, I was just being silly (to put it nicely). I worked with him to provide more visibility to my tasks and progress. I struggled with him to understand the work. I included him in my brainstorming sessions and talked with him more about the nature of the testing I was planning.

Oddly enough, that process of explaining it to someone else helped me better understand the problem. The investment was worth it.

Before I Start My Presentation, Let Me Explain Why I’m Not Wearing Any Pants

Friday, October 26th, 2007

Excellent post on the Information Technology Dark Side about honesty, responsibility, tact, and pajamas.

Please tell me when I’m being an idiot

Friday, October 26th, 2007

This morning I was taught a lesson by David Christiansen. It was during a conversation on Bacon, Descarte, Waterfall, and Agile (oh yea, typical Saturday morning conversation… I know). Dave said, “This is the first time I’ve ever been pissed at you.” Or something like that. I care deeply for Dave, so I got a little taken aback.

After Dave made that statement, that part of our conversation ended per Dave’s better judgment. We went on to talk about other things. As the conversation shifted, I thought about my actions leading up to that point:

  • I spoke over Dave. In an effort to get myself heard, I put Dave’s ideas below mine and didn’t view him or his ideas as important.
  • I didn’t listen to Dave. Often a corollary to item one, I didn’t truly give him my attention, even when I wasn’t trying to talk over him. I was focused on what I was going to say, not what he was saying.
  • I didn’t respect that he might know something that I don’t know. As Dave told me his point of view, I made comments like, “I already know that.” Or, “I know what you’re saying you don’t need to explain it.” These comments didn’t respect Dave’s intellect (which I do respect) and they over-exaggerate my own.

After a while the conversation lagged and I tried to bring the topic up again. Against his better judgment, Dave agreed and we tried again. This time I listened. I actively took notes on my thoughts so I could forget about them and focus on his. I covered my mouth. I gave him the time he needed and deserved to tell his story.

Then we discussed. We went back and forth giving and taking points. He listened and I listened. I feel like this part of the conversation went much better. In the end, I think I agreed with almost everything he was saying, and I don’t think he thought I was a complete idiot.

So why blog this? Because I know I do this more then I would like to. I want the world to know how to handle me in this situation. Dave did the best thing he could have, and I wish he would have done it sooner - before he got angry.

The process is simple:

  1. Understand that I’m an idiot.
  2. Forgive me for being an idiot.
  3. Tell me what I’m doing, how it’s making you feel, and give me a chance to stop being an idiot.

Dave gave me that chance the second time around. He forgave me and told me. I think I made an effective correction.

I want my conversations to be as rewarding as possible - for both parties. I sometimes have a hard time dealing with my shortcomings around respecting the other person when I’m in a passionate discussion (and I get passionate a lot). Please feel empowered to tell me when I’m being an idiot and you feel I’m not respecting you.

———————————-

Previous (very kind) Comments

———————————-

 

>>>>>How to tell someone…

Dave has posted on how to tell someone you are angry.

 

>>>>>Alright…

Enough already!

:)

Thank you all very much.

 

>>>>>Gee, thanks…

I confess, I was mad at Mike Kelly once. I don’t remember the details… maybe he spoke over me, maybe he didn’t listen, and maybe he didn’t respect that I might know something he didn’t.

More likely it was because in the heat of the discussion, I felt like an idiot — not because he was being a jerk, but because my wonderful, comfortable argument had some major holes I had not seen. Not a good feeling when you want to be taken seriously.

But as the discussion went on and my argument became more and more porous and desperate (basically disintegrating into a Devil’s Advocate position), Mike did not take the easy opportunity to strike a fatal blow, he became *more* reasonable, helping me save enough dignity to dissolve my feelings of idiocy.

 

>>>>>Awesome I say!

Because when you can notice and bring these things into your awareness, then you have the choice of what to do about it. Not noticing, being unaware, we just go on pissing off people we care about and slowly (or quickly) burning bridges…

 

>>>>>Awesome!

Mike, good job and congratulations to you for noticing all this about you. And for doing so with such a small and easily overlooked trigger — Dave just telling you he was pissed.

This is how I strive to be myself, to notice what is happening in my own head. This day you’ve done this in spades. It is an accomplishment of understanding yourself.

And even more, going so much further in true Mike Kelly style, why did you blog about this?? Because that is just how committed you are to being open, honest, and improving.

It is an honor and an inspiration to know you. Honestly.

 

>>>>>great stuff

Wow. Great. Thanks. I’m going to link to this.

 

>>>>>I feel like I should stand up and say…

My name is Scott and I’m an idiot. :)


Scott Barber
Chief Technologist, PerfTestPlus
Executive Director, Association for Software Testing
sbarber@perftestplus.com

 

>>>>>So that’s why you listened so well… :)

So I must have benefitted from Mike’s lesson with Dave, as when I called Mike later that day he was patient, a great listener and - as ever - a wonderful friend :)

Julian Harty

>>>>>Everyone Needs Good Friends

Everyone needs good friends like Mike. I’m glad I can include Mike as one of mine. Our regular “writer’s group” meetings are among the funnest things I do. It’s always a good idea to hang out with people you can learn from. Thanks Mike!