Computers are dreadfully complicated, covoluted things, full of arbitrary and inscrutable decision paths. It is hard to find any real sense of cohesion in the understanding of computers, because the reason for most of these rules and commands is generally that during the design stage, somebody thought this way was good enough, and nobody with the ability to change it cared enough to expend the effort. The result is that every rule, every interface, every method of use is slightly less than perfect. Everything is either too simple to perform complicated tasks efficiently, or too generalized to perform simple tasks easily.
And yet, there's an elitism among many computer professionals that is discordant. A presiding feeling among "seasoned veterans" that they know all there is to know, that they have got it right, and that anybody who has not acheived the knowledge of their way of doing things is fundamentally wrong, and in most cases, stupid.
Where do these people get off?
Consider the case of UN*X style file permissions. You have a series of files, arranged in a hierarchy of directories. Each directory has three permissions -- read, write and execute -- which can be assigned to three levels of access -- yourself, your group, and everybody else. Fairly simple. But entirely arbitrary. I mean, why a hierarchy? Why not a big pool, or a list? Why discern between file and directory, why not make them the same thing, a "stackable" file? Why three permissions -- why not a fourth, which would allow appending to (but not changing) files? Why use file metadata in the first place, especially if you're planning to maintain a database of file information anyway? What does "execute" mean on a file that is not a program?
Over the years, as users coped with the choice of file permissions, even more decisions were been made. Directory traversal is conrolled by the execute bit. Permissions are set using the command "chmod," a shortening of the term "change modifier." Each permission is a assigned a number constructed using bitwise math, and ordered according to the hierarchy (self, group, everybody else).
Of course, not everybody knows bitwise math -- not that it's difficult, but it's not something you do in the world outside of computers. Of course, not everybody who sees the letters "rwxr-x-r--" are going to immediately align themselves to the thought process that created them. Not everybody is going to guess that "chmod" is a likely term to use to grant somebody access to the file they just loaded to their website. More likely, they'll try "Grant" or "give security" first. And in the end, they'll need a hand to figure it out.
Surely, once they do, they'll find it quite simple, maybe even intuitive. But to get to that level, they'll first have to evade wave upon wave of strange and often irrational information. Information which is not pertinent to the matter at hand nor to the user's life in general. It is, above all, arbitrary. So of course, they're not going to know it. Of course, they're not going to retain it. Do you remember which line is which between trips to the DMV?
And yet, in technical circles, these people are taunted incessantly for their ignorance. They are expected to be supplicant and ashamed of not having intuited things which are not immediately obvious.
It's sickening, really. How are people supposed to adjust to alien ideas and systems if they're afraid to ask questions or experiment? And what is gained by insulting them?
Certainly, it isn't job security. We're seeing technical support and other IT jobs flowing overseas at record rates. You'd think that people would want to endear themselves to their employers and coworkers, to prove their value to the company by being as friendly and open with their knowledge as possible. It should be every IT worker's job to noiselessly shoulder misconceptions and explain what's really going on. It's much harder to fire a guy who's helped you out on numerous occasions and who never yells at you for not knowing how to set up a network printer under active directory (or not wanting to rely on the steps provided in a curt email on how to do so). But when you've got an entire department that's assured of its own technical superiority placing hurdles in front of your employees when they are are trying to get work done, where's the encouragement NOT to save a few thousand dollars by shipping their jobs to Zaire? At least when the Zairians make fun of you, you won't understand it.
It isn't hard to ignore the apparently dumb things people do with computers. All you have to do is close your eyes and think about how well you really understand their jobs and their strengths. When I worked for the Binghamton U. academic computing center, I used to help out PhD students and professors, people who were brilliant in their field but who couldn't forward an email attachment. Obviously they weren't stupid, but to hear my fellow consultants talk you'd think that nearly everybody was a stone cold idiot. I used to do it too, until I discovered that a lot of the people I was insulting were pretty smart, interesting folks who, thanks to my elitism, didn't like me. I quit that bullshit pretty quickly.
Posted by das at April 8, 2004 10:40 AM | TrackBack