Why Expert Developers Still Make Mistakes
Editorial note: I originally wrote this post for the NDepend blog. You can check out the original here, at their site. While you’re there, take a look at the most recent version of NDepend with an assortment of features around visualizing tech debt.
When pressed, I bet you can think of an interesting dichotomy in the software world. On the one hand, we programmers seem an extraordinarily helpful bunch. You can generally picture us going to user groups, conferences, and hackthons to help one another. We blog, record videos, and help people out on Twitter.
But then, we also seem to tear each other apart. Have you ever hesitated before posting something on Stack Overflow? Have you worried that you’ll miss some arcane piece of protocol or else that you’ve asked a stupid question. Or, spreading our field of vision a little wider, have you ever seen nasty comment sections and ferocious arguments?
We programmers love to help each other… and we also like to rip each other to shreds. What gives?
Reconciling the Paradoxical
Of course, I need to start by pointing out that “the programming world” consists of many, many human beings. These people have personalities and motivations as diverse as humanity in general. So naturally, contradictory behavioral tendencies in the population group can exist.
But let’s set that aside for a moment. Instead, let’s try to squish the programming community into a single (if way over-generalized) human being. How can this person be so helpful, but also so… rude?
The answer lies in understanding the protocol of helping. The person presenting the help is an expert. Experts enjoy explaining, teaching, offering opinions, and generally helping. But you’d also better listen up the first time, pay attention to the rules, and not waste their time. Or they’ll let you hear about it.
In the programming community, we gravitate toward conceptual, meritocratic ladder ranking. Expert thus becomes hard-won, carefully guarded status in the community. Show any sign of weakness, and you might worry that you’ll fall down a few rungs on the ladder.