Russell got to talking about geek elitism and, specifically how it relates to Jerry Springer type conflicts. After posting the comments between a blogger and an unhappy customer, Russell axes:
Was anyone able to guess the topic of the post? I would tell you, but I can't actually remember anymore. I was too busy being entertained by "Yo mamma's so ugly" contest going on. I vaguely remember there being some good points thrown in there between the flying chairs though, so if you're interested you can check it out here.
This is one of those coder-culture things that's probably been going on since ENIAC - the petty "My app's bigger than your app" machismo.
I can't stand geek elitism. More than anything, it's what turned me off to Linux. At least on the Apple side, I can enjoy my *nix without being bothered since most Apple users bought their machines for iPhoto. I like those people, too, by the by, as they aren't looking to pick fights. They just want to get their stuff done. Though there is a powerful underbelly of the Apple world that's so exclusive even the elitists can't get through the door of their own club.
I especially don't care for it when it's about coding itself. This tech vs. that. Nowadays, it's so often about superficial pseudo-politics and people who think there's a correct way to dev.
Your dog could be having a heart-attack, but you wouldn't even notice because you're so busy telling someone that your favorite OSS database is more important than his commercial database because his commercial database, despite being nothing more than stored ones and zeroes that do something neat, should be on trial in the Hague for the atrocities it's committed against humankind.
Coding is a craft. It's not an art and it's not a science. Every dev tool on the planet is built on decades of cruft. Every language has either originated or perpetuated sloppiness. If you can get something done, then good for you. Extra points if you don't care what anybody else thinks.
My sister [lawyer referral business][bio] started coding before I did. I walked into the living room of our house in 1983. She was seated before our original IBM PC, running at 4.77 MHz, pushing all 256k of RAM to its limits by having used MS BASIC 1.0 to draw a house on Halloween with an owl perched on top. She even did the moon with moody cloud cover. Looking back, it was amazing. She had just turned seven, and this wasn't at a time when you could point and click your way to an app. You had to learn how to build things on your own. The manual was a three-ring binder of circular definitions, and to make matters worse, our cat had peed all over it.
The app wasn't terribly complex, and could hardly even be called an app, but she sat down, wanted to create something, and muscled her way through. If coding were an art, the solution to her problem would have been too free form and abstract. You don't get to express yourself in code unless you have a paralyzing deficit of imagination, but if you're willing to put effort into it, you can express yourself by ordering your computer to do what you want it to. Programming languages are one-way and built on imperative statements. You don't warm fuzzy your way to success, but you also can't be too exacting in your demands.
As for science, I don't see a bit of it in code. Scientists occasionally make stupid mistakes, like forgetting to do a conversion of metrics resulting in the loss of this or that very expensive probe that's traveled part of the solar system to reach another world, and there's corruption in science where one or another petty sonofabitch is more interested in credit than the spirit of making sense of the universe, but the process itself doesn't apply to software development. You can't look down your nose at another coder and tell him his methods are incorrect. I have my own taste and aesthetic about coding, preferring the simplest, clearest way to resolution, but if someone can get something to work, no matter how much it might offend my preferences, the problem has still been solved.
Back when I was contracting and moving from place to place, I could see the mismatched socks in someone's life through the way he absent-mindedly hopped from idea to idea, but your legs and shoes and the pavement don't really care if your socks are mismatched as long as you can still get from one place to another.
This is the style end of the craft. You might be a fancy looking little man like me, or you might be a Poindexter who wants it done the same way every time, and if your applesauce is +/- 1 degree from where you like it, you throw a fit and blame the refrigerator company. It's your style. And, though you might put something together in such a way that it's totally unmaintainable, I'll still applaud your efforts because, as a contractor, I mostly billed by the hour. Your style funded mine; I should be thanking you, not berating you. You dressed me in Prada, and I'm grateful.
You might think your way is correct, but the best you can manage is thinking that it's right. "Correct" refers to an absolute, whereas "right" is a judgment against your own values. It's also smug as hell. You're the guy who needs to tell people they're cutting their steak wrong. It's just steak. Get over it.
My sister stopped coding when she turned eight or so, having accomplished most of what she wanted to do in that area, moving on to collecting My Little Ponies and assembling a makeshift orphanage of Cabbage Patch Kids, but she came back to dev work not too long ago. She was proud of what she'd done and excited to show me. I took a look at it and wondered how she'd put this app together, but that it worked was of much more interest to me than the design. She's probably never used the word "architected", which I think is best since it's ghastly, but she could probably still cut through the crap well enough that she could have an app together before you've diagrammed the object model for your Fahrenheit to Celsius converter.
People like my sister have figured out how to do something I'll probably never get. The lesson to me is that you can still think you're awesome without having an ego. You're happy to pay more attention to improving your own skills than wagging your finger at someone else's.
It can be argued that I'm guilty of most everything I've just written about, and that, by judging people who judge, I'm a hypocrite. Luckily for me, as evidenced by the number of relationships I've managed to burn to the ground over the years, I work in a vacuum of emotional maturity, and I feel perfectly comfortable responding to any accusations of hypocrisy with the phrase I employed on a daily basis at about the same time my sister coded that first little program of hers:
You started it.