Code & Ego

I’ve found that a decent sub-set of software developers have huge egos. Hardly all of them, but hardly none of them, either. (And no, no one any of us know comes to mind.)

I forget which it was, but one of the original UNIX developers was famous for a comment before a couple convoluted lines of code which read, “You are not expected to understand this.” It became somewhat famous (infamous?), though he later clarified that he meant it more in a, “This will not be on the examination” sense,  and not in a “You’re too dumb to understand my ingenious shortcut here” sense. However misinterpreted, I think it sums up exactly why I can’t stand some software developers, or Perl.

I’m sure there are some great people writing Perl code, but my general experience with Perl has been that the name of the game is writing obfuscated code. Even many of the operations in Perl make no sense, or are just different from every other language on the planet. (A developer at work today, trying to fix an ancient Perl script, ran into the fact that Perl insists on using an “ne” instead of “!=” when comparing strings.)

I’m lucky in that I work with a group of people that are of the, “Let’s do this the clean and proper way” mentality, so we tend to work with pretty readable code. But it took three of us huddled around a screen a few minutes to figure out a bizarre block of code today, when the code, once detangled, was essentially the world’s simplest if() statement.

It just seems that there’s two camps in the software world: those who write clean code and leave good documentation for others that might work on the code, and those that think the purpose of writing software is to show off just how clever you are to other developers.

One thought on “Code & Ego

  1. There was a whole movement in the software indusry some years back called “egoless programming.” It didn’t go very far because everyone was worried about “the other guy’s ego” and not their own. It’s an idea I push though.

Leave a Reply

Your email address will not be published. Required fields are marked *