Listening is the most important skill for having great conversations. I’ve had to learn and relearn this skill so many times through out my career. As a programmer, I’ve come to realize that the mode of thinking required to be good at my job and the mode of thinking needed to have great conversations are completely at odds with one another.

Programming is one of those activities where in order to achieve a high level of productivity you have to shut out the world. You put on blinders and dive into an alternate reality where bit by bit you’re constructing a delicate mental model of the problem at hand.

On difficult projects, the concepts can be quite slippery to grasp, and ideas often need several iterations of refinement. Some of the best programmers I know revisit a concept dozens of times before it’s ready to implement.

To a certain extent, I believe all programmers possess this craving to refactor and refine ideas. And it’s this exact same quality that impedes so many of us when it comes time to have conversations with other people.

Programmers end up missing out a lot on conversations because our minds so readily want to explore and refine the dozens of ideas as they come up. Unfortunately, the tempo and pace of a typical conversation is so rapid that ideas relevant in one moment may be irrelevant in the next. Our tendency to explore and refine leads us down rabbit holes and before you know it, the other person has already moved on to the next subject.

Being explicit about switching modes

The trick to overcoming these bad habbits is to be explicit when you’re switching modes between programming and having conversations with people. You have to mentally recognize the change in tempo and that your mode of thinking needs to adapt.

As a physical trigger, I wiggle my toes during these transitions, and it lets me know that okay … it’s time to shut off my inner voice and actively listen to what the other person is saying.

Once this is done, the rest of mechanics fall into place. By actively listening, I don’t get distracted by minor details and can truly absorb what the other person is trying to convey. With this understanding I can deliver my comments and questions when they are most relevant.

I’ve gotten better at having good conversations over the years, and most of that has come through conscious repeated practice of this simple little trick.