Program Like a Debater: Character, Commitment, Team Work, Hard Work
During my time as a debater, I had the privilege of working under the greatest coach in the history of college debate: Larry Scott Deatherage. Most of us who knew him referred to him affectionately as ‘the Duck.’
Duck coached 7 national champions in 12 years. Across his tenure, he personally led Northwestern to more national championships than any other program in the history of college debate - Harvard, Dartmouth, Berkeley, you name it.
He instilled in me the mantra from the title: character, commitment, team work, and hard work. It was a set of principles he referred to often; a collection of foundational building blocks upon which success in debate is built.
As I’ve been growing as a software developer, I’ve been keeping an eye open toward figuring out what sorts of principles underlie success in this discipline. I’ve pursued the topic in conversations with colleagues, and checked for clues in the books that I read.
As I was reading Peopleware, I came across a really interesting passage:
The best organizations are not of a kind; they are more notable for their dissimilarities than for their likenesses. But one thing that they all share is a preoccupation with being the best. It is a constant topic in the corridors, in working meetings, and in bull sessions. The converse of this effect is equally true: In organizations that are not “the best,” the topic is rarely or never discussed.
The best organizations are consciously striving to be best. This is a common goal that provides common direction, joint satisfaction, and a strong binding effect. There is a mentality of permanence about such places, the sense that you’d be dumb to look for a job elsewhere — people would look at you as though you were daft. (122)
And then it hit me. Character, commitment, team work, and hard work aren’t just building blocks for success in debate. They’re building blocks for success in anything. Duck was so big on preaching these lessons because they’re not just about debate; they’re about life.
I always knew this on some gut level. Of course success in any discipline is going to require that you show character, commit to your goals, work effectively with those around you, and give it your all. But the thing that brings it all together is the motivation that Peopleware finds in successful software teams: being preoccupied with being the best.
Be The Best
After I finished debating, I went on to coach myself. I’m no Duck, not even close, but I did have the privilege of working with national champions at both the high school and college levels.
When I look back on those teams, and think about how they reached that pinnacle, I see the exact same principles that the Duck talked about. I think back to how it felt to work with those folks, and one thing is obvious: they were preoccupied with being the best.
Being preoccupied with being the best manifests itself in all sorts of little ways. You show up a little bit earlier than you need to, leave a little bit late. You poke around beyond the materials you know that you need to master, just to have an edge when it’s time for something new. It’s not reducible to just one thing.
But you can definitely tell the difference between the teams that are preoccupied with being the best and those that aren’t. It’s transparent in the way they carry themselves. Some do just enough to get by, and others do noticeably more.
It’s ok to not be preoccupied with being the best. Sometimes you’re just doing something as a hobby, and sometimes you have other priorities. That’s perfectly understandable.
But when you decide to devote a chunk of every day to one activity, it makes sense to take that extra step - to make it your goal to be the best that you can be.
Continual Improvement
To say that Duck was preoccupied with being the best certainly isn’t false, but it also risks a miscommunication - as if to say that he had no mental bandwidth to deal with those for whom singular dominance of the field seemed out of reach.
But that’s certainly not true. I showed up in Duck’s office as a freshman having tallied one win and six losses at the national championship in high school. I wasn’t exactly a star recruit. And my freshman class certainly wasn’t lacking for those who were.
But Duck gave me an opportunity anyway, giving me challenging assignments just like anyone else and sending me to major tournaments. In doing so, he delivered another of his famous mantras. “Your goal,” he said, “is simply this: to be debating better at the end of the year than you were at the beginning of the year.”
He also said this: “When one of us wins, we all win. When one of us loses, we all lose.” A team that’s preoccupied with being the best isn’t closed off to those who have room to grow. On the contrary, it puts folks of various skill sets in collaboration with one another, fostering shared learning and growth.
Suffice it to say that I was far more successful in college than I had been in high school. Setting your sights on continual improvement and buying into the shared excellence of a team makes you part of a whole that’s greater than the sum of its parts, and it enables you to flourish in ways that might not have seemed possible before.
Software Craftsmanship
As I’ve been growing out of debate and into software development, one thing that’s been heartening for me is the discovery that these principles and mantras aren’t just relevant to my new field - they’re actively practiced and endorsed, at least by some folks.
In the contexts I’ve explored, they go by the name of software craftsmanship.
Software craftsmanship embodies a commitment to doing a little bit more than you would need to do just to get by. It invests in the belief that doing so isn’t just some sort of icing on the cake, but rather the crucial ingredient.
Not everyone who does software development is committed to the principles of software craftsmanship. Some are more interested in shipping code as fast and effortlessly as possible. That’s fine.
But it’s not the sort of attitude that engenders excellence. As Aristotle put it, “We are what we repeatedly do. Excellence, then, is not an act, but a habit.”
Whether in debate, software, or some other field entirely, character, commitment, team work, and hard work are the habits of excellence. They’re what make a great programmer, a robust programming environment, and a strong team.