You know, I complain about a lot of people’s hubris. Overzealous bloggers and Web2.0 talking heads tend to get the brunt of that fixation. I wrote that piece about how non-technical people, in general, tend to trust what a technical person tells them more than they would someone telling them something they didn’t know in a non-technical area.
But developers are a tricky bunch, too. It happens all too often that when I am dealing with another developer who I don’t know (and, conversely, who doesn’t know me) they immediately assume that I am an idiot. I really hate nothing more than that (I have it on good authority that I, despite my best efforts, am hypocritically guilty of doing exactly the same things to others, but hey, it’s my blog, so I can write what I want).
This happens to me time and time again. I come into a project that is the purview of another developer, whether I’m working directly on the project or merely a consumer of said project’s output, I find myself with a question. I spend my time trying to figure it out and then send them a very detailed question outlining exactly what I’ve done, what the error is and what I think could be the problem. Almost invariably the condecension begins immediately. This is often my first contact with these people, I could be an idiot or I could be a genius – but they always assume the worst.
The response I get back shows that they didn’t read even a fraction of the bug report – that they read the subject and maybe the first sentence and they will give the most basic, condescending answer possible. Let me give a very recent example, I’ll say (paraphrased for brevity), this php app you’ve given me is returning a mysql_connect undefined. The same apache is working with another php app that connects successfully with the DB. I don’t know php, but I remember reading there’s a difference between mysql_ and mysqli_ calls could that be it? (include also explicit error messages and several urls for various test pages that work or show server info).
What do I get back? It starts with “you will need to get access to the mySql database on your apache server, and create the necessary database tables.” and then just gets worse. Why would you simply assume that I hadn’t set up the database or configured a password when it’s clearly a php function that isn’t defined? It’s possible that perhaps PHP throws that strange error if it can’t connect to the DB for whatever reason, but it’d be worthwhile to say such a thing. But developers simply assume that whoever they are talking to is an idiot.
I know I sometimes do the same thing, but I genuinely try not to be that way. I think as well, in the face of a well written bug report (which only brings me joy, despite it’s being a bug report) I never behave that way. I’ve seen it again and again and I’d like it to stop. For me, I suspect, it’s more the people I know that tend to receive the brunt of this type of action, much more so than people I don’t. I also try desperately to stop this because many times it turns out that I am wrong and the person I’m condescending to is right. Boy, that’s the worst.
This is definitely a common trait among developers from all walks of life. And it is a horrible one. I hope that people, as they find out that they are wrong about whatever it is they’re convinced they are right about start to change that behaviour.