It seems like whenever I'm debating a technical issue, the person(s) I'm talking things through with often end up feeling offended. Apparently, it's socially unacceptable to define a commonly used term for the sake of ensuring that everyone is on the same page. There are three particular instances that come to mind where, because there seemed to be some kind of fundamental disagreement, I thought it would be helpful to offer my understanding of the definition behind a technical term or acronym so that, if there was a fundamental disagreement surrounding some term or foundational concept, I knew I'd get an objection to the statement.
What I'm not doing is defining the thing because I think the other people in the discussion aren't as enlightened as I am. What I am doing is systematically trying to figure out the underlying disagreement. Unfortunately, my verbal technique for doing this is about as socially graceful and tactful as a PC technician as he diagnostically fiddles with wiring to determine the root cause of a problem.
What I don't want is for people to be offended when getting in, what will likely become, a vigorous and even animated debate especially if we have a fundamental disagreement. I especially don't want people to feel like I'm being disrespectful if my counterpoint happens to be stating what my understanding of a term or concept is. While I do apologize for any offense taken, I do not intend to stop this effective tool which is often employed in formal debates.
So, for example, in a debate that occurred at the last lunch and learn, I voiced my understanding of the purpose of ORMs in general; not because I thought anyone in the room didn't know what ORMs are for, but because I suspected that there was a fundamental disagreement regarding what ORMs are for. In stating that, I got what I was looking for; a challenge to the statement. That told me that my understanding of an ORM's role is not the same and may in fact, be incorrect. There are few other areas in technology which are more heavily debated than data architecture, persistence strategies and so on to the degree that there is very little authoritative guidance available because even the so-called authorities do it differently. For what it's worth, even though I fully disagreed with Craig at the time, I've been and will continue to, take his points under consideration. Just because someone doesn't come around during a debate doesn't mean they don't continue to "mull things over" afterwards. I know I generally do.
While I don't intend this post to defend poor social etiquette on my part or justify being an ass, we also need to establish that it's ok for team members to publicly, verbally disagree, even in a passionate manner. Any time you have a room with talented individuals who care about what they do, there's bound to be disagreements. If you don't voice your opinion, you're robbing yourself because you miss the opportunity to either better your understanding or everyone else's. Challenging an individual or group's opinions or assumptions is a healthy exercise in a team environment and I hope that the fact that I "play for keeps" doesn't make anyone feel like I do so to discourage debate. And, if you're uncomfortable discussing it verbally, I hope you'll consider debating the matter in writing.
So. Don't be afraid to debate a matter you feel strongly about, but please don't take offense if I happen to use this device because it is simply a mechanism of determining where and how we disagree. After all, there absolutely will be times when I'm flat out wrong about the definition of something and then you'll get the pleasure of publicly correcting me and I'll get the benefit of your correct knowledge : )
Alex's Rules For Debating Nerd Stuff (a.k.a. things that should go without saying)
1. No name calling or personal attacks
2. If you voice your opinion, don't take offense if someone disagrees with you
3. Be prepared to defend your opinion logically
4. If you don't like verbal debates, find a way to express your thoughts in another medium
Tags: