Program Like a Debater: Interacting with Clients
Before I took up programming, I was a debate coach. Before that, I was a college debater. And before that, I was a debater in high school. I’ve been involved with policy debate for most of my life (literally: 14/27 years) and, until recently, it’s the main activity by which I’ve defined my work and identity.
So when a colleague of mine asked if my background in debate informs the way I approach programming, the answer was obviously yes. It was just tough to explain exactly how. When you work in a field for over a decade, you pick up skills and habits that impact how you learn and interact, but that process is largely subconscious. You don’t think, you just do.
Still, I do have some experience articulating what I do. Being a debate coach means identifying what helped you succeed and then transmitting that knowledge to your students. Being a good debate coach means identifying what helps you to help others and then re-affirming that to yourself. The knowledge isn’t hidden away, it just requires a little reflection.
So, after fielding the inquiry, I’ve decided it’s time for a little reflection.
To start, I’ll address how my experience with debate informs how I approach interactions with clients. Conversations with a client aren’t adversarial in the same way as the exchanges you’d find in a debate, but getting the most out of the exchange often requires you to think like a debater.
Step 1: Listen
One of the things most difficult to communicate to new debaters is that they need to take the time to listen to their opponents. It seems obvious; how can you respond if you don’t have a good idea of what you’re responding to? Still, young debaters are more comfortable waxing poetic about the topics they’ve mastered than they are with engaging their opponents. They think – if I can convince the judge I’m an expert on my materials, the rest will work itself out.
This makes for some pretty awful debates. In debater parlance, we say that they lack “clash.” The two sides have convinced me they’re each experts on some subset of the topic, but it’s difficult to choose one over the other when there is no central point of contention.
I can tell a debater has grown when their ability to listen offsets the time they need to prepare. As their listening ability goes up, they’re able to quickly understand and evaluate new materials, identifying weaknesses and generating counter-arguments with ease.
The world of programming is a different animal; you’re not trying to expound upon the faults of your clients. But listening is every bit as important. While you might be tempted to show off all that you can do, you can usually optimize your output by taking the time to understand what your client is saying and addressing their real needs.
In my conversations with clients, I’ve taken care to soak up every bit of feedback I can extract. While it’s tempting to prove that I’ve addressed previous feedback and demonstrate all that I’ve learned, it’s often more helpful to focus on what I can do better going forward. It’s humbling, but also rewarding. Listening is the key to a productive exchange, be it debate or dialogue.
Step 2: Narrow Down Disagreements
Once young debaters begin to grasp the concept of clash, they have a tendency to take it too far. You say economic collapse would be bad? I say economic collapse would be good! You say renewable energy is necessary to ensure the survival of the human race? I say – forget renewable energy, the human race should be wiped out!
Young debaters latch onto arguments like these because it lets them fall back into the pattern of not listening without missing out on clash. I don’t have to pay very close attention to what you’re saying if I’m just going to say everything that you think is bad is actually good. But more mature debaters begin to abandon these arguments.
The optimal strategy for winning a debate is not to counter every single point leveraged by your opponent, since it’s unlikely that everything they’ve said is wrong.1 Instead, it’s best to narrow down the “nexus question” - the central point of contention - as much as possible, and then assure beyond a doubt that you’re on the right side of it.
In conversations with a client, this means doing everything you can to get on the same page, aligning expectations with deliverables as much as possible, and then picking your spots for disagreement. It can be tempting to get defensive and respond to every single piece of feedback reactively, but often taking a step back and looking at the big picture can help you avoid missing the forest for the trees. Find and address the places where there are genuine disagreements, but don’t get bogged down dealing with largely irrelevant sidebars.
Step 3: Prepare Meticulously
Participants in policy debate are well known for their preparation. Before the transition to paperless debate, it was common to see teams carrying around five or six rubbermaid tubs filled with evidence. Debaters prepare to answer every possible argument.
I said above that the ability to listen offsets a debater’s need to prepare, but the mark of a truly great debater is when they remain committed to preparation while possessing a strong listening ability. Extensive preparation lets you spend more time listening for nuance, since your stock response to the general contours of an opponent’s argument is already at hand.
Even (perhaps especially) when you’re not dealing with an adversary, preparing for a conversation yields better outcomes. If you know about your client’s objectives and resources, you will be better suited to accommodate their needs. You will enter the conversation ready to get on the same page and get up to speed more quickly.
Lots of people understand the need to prepare, and of course they do prepare. But participating in debate has taught me the difference between preparing and being prepared. Glancing at a few documents or running through a practice speech is preparation, but it doesn’t guarantee that you will be prepared. Being prepared means committing the resources at hand to memory and making them second nature.
You’re not prepared just because you have six rubbermaid tubs filled with documents. You’re prepared when you’re familiar enough with every one of those documents that you know how and when to use each one of them.
Conclusion: More to Come
Participating in debate taught me the values of listening well, narrowing disagreements, and preparing meticulously, but it also taught me so much more. While I think that these are the skills most pertinent to interacting with a client, I look forward to expounding further upon what it means to program like a debater in future posts. Stay tuned!
-
As put by Winston Churchill, “The greatest lesson in life is to know that even fools are right sometimes.” ↩