Shut the hell up and listen (Avdi)

Microsoft CEO Satya Nadella will be returning to the Grace Hopper Celebration of Women in Computing conference again this week, but don’t expect him to make quite the splash he did last year.This time, he’ll be watching from the safety of the cheap seats.

Source: Microsoft CEO Satya Nadella skips speaking role at women in tech event, will listen and learn this time – GeekWire

This news item reminded of something that happened last year at RubyDCamp.

It was during the Code Retreat day at the beginning of the conference. If you’re not familiar with the format of Code Retreats, you spend a day writing the same program over and over again. Each time, you pair with someone new. Each time, there is a new constraint, like “this time, no if-statements”. At the end of 45 minutes, you stop wherever you are and throw your code away, then gather and share what you learned. It’s not about finishing; it’s about gaining new perspective from the constraints and from who you pair with.

During one session, I was paired with a programmer I had met the previous year. At the time of our last meeting, she was new to the community and relatively new to coding.

We were coding the Game of Life in Ruby. I don’t recall the constraint at the time, but I remember it was her turn on the keyboard. She was coding the core logic of GoL, the algorithm for counting up the number of living neighbor cells.

I watched as she got started, then told her that I knew a really good way to implement it. She nodded and said something like “Cool! I’d love to see it, I just want to get the tests passing with this version first.” I agreed, and proceeded to sketch out my solution on a notepad as she continued.

A little while later she finished up. I was eager to show her what I’d written down. But first I took a look at the code on the screen… and was immediately blown away by an elegant solution which had never occurred to me before.

I realized that I had just spent the last 5 or 10 minutes with my head down, scribbling away, recreating something I already knew. Meanwhile, I was missing a novel solution that was taking shape right in front of me.

I was gobsmacked. Was this really the frame of mind I was coming into the conference with? One where I talk and everybody listens and nods along to how clever I am?

I had definitely learned something new during this pairing session.

Had I barged ahead with my own solution, ignoring my pairing partner’s work, in part because she was a woman? I don’t know. I like to think not, but the science of implicit bias tells us we often aren’t aware of it.

Was I biased by my perception of her as a “newbie”, and my assumption that I had all the answers? Yeah, almost certainly.

I spent the rest of that conference just listening. A lot. I did a lot of opening my mouth… and then shutting it again. I remember feeling suddenly insecure, but not in a bad way. I folded in on myself a bit, tried not to take up so much metaphorical space, and listened.

I still think back to that experience regularly.

I like to run my mouth. I was basically born to do it. My wife complains, justifiably, that I’m always in lecture mode. Thank God I’ve finally found an outlet where my blabbing tendencies are welcome.

I’m pretty good at talking. I still need to work at listening.

I don’t really have a big motivational finish for this article. Feel free to insert something clever about “winning at the Game of Life” or some such. I’m just posting this as a confession, and a reminder to myself to shut the hell up and listen now and then.

(Posting this on my programming blog because honestly I can’t think of many things more important to successful software development than the ability to listen.)