I have a confession to make. I really enjoy reading The Daily WTF.
For those of you who aren’t familiar with it, it’s a website where software developers and other people in the IT industry post horror stories about the incompetence they’ve had to deal with in the workplace. Often these “stories” come in the form of code snippets written by coworkers—typically, these snippets are messy, inefficient, pointless, hopelessly confusing, or any combination of these (and often all of them at once).
It’s an amusing website, for sure. So why did I say this is a “confession”? Because I also think it’s kind of horrible. The Daily WTF (TDWTF) is basically where IT people go to look down upon others and laugh at their mistakes. It isn’t constructive; it isn’t educational. It’s just amusing, nothing more.
OK, so, big deal, right? Everybody likes to have a chuckle every now and then—what’s the harm?
Personally, I believe that the state of the software industry is… pretty sad. To be sure, there’s amazing stuff out there being developed, even at this very moment; but for every well-written, smartly designed, properly documented software system out there, there are a dozen crappy, brittle, unmaintainable heaps of garbage.
Why? Are a lot of software developers just dumb? I really don’t think so. I don’t think a person gets to be a software developer by being dumb. We’ve all got to have a certain base level of intelligence, or there’s no way we can make it in this field.
I just think there’s way too much of an attitude of superiority. And of thinking that “my code” is elegant and beautiful, while “your code” is ugly and stupid.
It’s such a shame, because if instead of getting pleasure from looking down on others for their mistakes, and posting their ugly code on TDWTF for all to scoff at, we were instead to examine our own work more critically and ask ourselves how we can improve, I think we software engineers could collectively increase the quality of our work considerably. And if we were to actually try and help our coworkers when we recognize areas where they can improve, instead of laughing at them for their ignorance, we would all undoubtedly benefit from one another’s shared knowledge.
Here’s another confession: I know I’ve written my fair share of code that could easily end up on TDWTF, if only a colleague stumbled upon it and felt cruel enough to submit it. But I also think that recognizing this, and assuming the humility that realization inevitably instills, is likely to help me improve myself as a developer far more effectively than I ever could by reading Daily WTF articles.
Not that I’m going to stop reading TDWTF, mind you 😉 As I said, it is an amusing read. I only need to remember, with every amusingly terrible code snippet I read, that it could’ve been me who wrote that.
Really, if we can’t always look back on our own work from 1–2 years ago and say to ourselves, That could easily be submitted to TDWTF, maybe we should worry that we’ve stopped growing as engineers? When you look at it from that perspective, it seems that maybe TDWTF has a constructive purpose after all—as a powerful motivator to keep getting better. You don’t want to end up on The Daily WTF, do you?