Dennis Forbes on Pragmatic Software Development
Subscribe to RSS
 
Friday, September 08 2006

I've never been a fan of The Daily WTF

While I can appreciate that it might elicit an occasional chuckle, and may even serve as a "here be dragons!" warning of the dangers of bad code or UIs, something about it just rubs me the wrong way.

The root of my dislike, I think, is my feeling that there's a bit too much of a schadenfreude thing going on much of the time. While I'm sure that the site is run and visited by a lot of great people, many of the regulars seem a little too eager to bask in the foibles of others, presumably imagining themselves righteous fonts of perfection and clarity.

Even the most benign and negligible choice of bitmasks is apparently worthy of mockery.

That would be fine and good, and it would just be a site I don't visit, however a bit of a meme lately (given that there's a current SuperStar! Developer! thing going on) is something along the lines of "Do you want a great programmer, or someone whose code appears on TheDailyWTF?" This is a repeating theme: On the one side are the great programmers, and on the other are the people endlessly bound to give TheDailyWTF source material.

Do people really think such a schism exists? Is the impression that great developers are infallible, never creating any bad code at all, ever? Are bad programmers just stumbling from one WTF to another?

Of course not.

I fear the output of any developer who claimed that they've never written bad code. I would fear them because they're either bald-faced liars -- believing that simply saying it repeatedly will somehow convince others into this fiction -- or they're completely blind to their own weaknesses.

Every developer in the real world has had bad days, brain faults, or bad interpretations of new languages, environments or libraries. It's simply a given of the profession.

Building a myth of perfection fools no one.

Reader Comments

I know this one really really bad programmer: me, two years ago. Although not as bad as me four years ago. And don't get me started on me ten years ago...
Gavin @ 9/8/2006 4:54:27 PM
It's true we all write less-than-elegant code occasionally, and we all write bugs. Frequently The Daily WTF highlights things in this category, which may be funny, but generally aren't very instructive (e.g., the recurring "Pop-up Potpourri" feature, which usually just illustrates poor error checking and english skills.) There are other anecdotes of organizational dysfunction, etc.

However, in my experience, much of the stuff they post is far worse than a competent programmer's worst day: it is, instead, the crappy output of programmers who are fundamentally unclear on the concept, and who merely trial-and-error stuff together until they can get it to appear to work.

For example, http://thedailywtf.com/forums/thread/65573.aspx or http://thedailywtf.com/forums/thread/53809.aspx or http://thedailywtf.com/forums/thread/24484.aspx

I think there's a fundamental difference in quality, training, or experience between the programmers who wrote these snippets and the engineers I want to work with: this is not just "bad day" stuff.
Tim @ 9/8/2006 5:29:02 PM
The real WTF is...

Sorry couldn't resist. I read the Daily WTF for entertainment value and to sympathize with some of the bad situations people find themselves in.

The best ones are those that show clueless managment not cases where the programmer made some bad choices.

I see your point though. Just skip the comments section if you want to avoid most of the worst of it.
Miles Archer @ 9/8/2006 6:21:49 PM
I definitely agree that some of the examples are seemingly beyond terrible, however there is a general attitude of rock throwing that gives me unease. Too often it descends into the realm of the hateful.

When I come across references to TheDailyWTF on blogs and messageboards, it's almost always in the context of "HA! LOOK AT THIS IDIOT!!!!!1!", usually with a sort of "us" (e.g. by laughing at it, and asking you to laugh at it with me, that makes us the "good" programmers, right?) versus "them".

I saw a comment before that gave me pause - it was a quote from Guy Kawasaki -

"8. # Judge others by their intentions and yourself by your results. If you want to be at peace with the world, here's what you should do. When you judge others, look at what they intended to do. When you judge yourself, look at what you've actually accomplished. This attitude is bound to keep you humble. By contrast, if you judge others by their accomplishments (which are usually shortfalls) and yourself by your intentions (which are usually lofty), you will be an angry, despised little man."

Of course this doesn't mean bad code should be ignored if the person meant well, but I think it's a general piece of wisdom that really resonates, because too often the only person we aren't critical of is ourselves.

http://blog.guykawasaki.com/2006/01/hindsights_ii_t.html
Dennis Forbes @ 9/9/2006 5:15:36 AM
I wouldn't call DailyWTF schadenfreude. Darwin Awards are schadenfreude because they delight in the misery of others for no good reason other than possibly a misunderstanding of biology. DailyWTF is rather more useful, highlighting amusing blunders that are in many ways instructive.
Leons Petrazickis @ 9/9/2006 11:52:47 AM
Fair enough - some people do find them to be amusing blunders. Some people use it as a learning tool.

However a lot of people are drawn to TDWTF for entirely malicious reasons, comforming with the "malicious glee or gloating" definition of schadenfreude. It might not be all of the visitors, but a sizeable number do feel better gloating and rubbing their hands about the ignorance of others.
Dennis Forbes @ 9/9/2006 12:57:17 PM
Wow, what did that straw man do to deserve such a beating?
Dan McKinley @ 9/9/2006 4:20:50 PM
Strawman? WTF are you talking about? Everytime someone has pointed that site out to me, it has been in a "holy shit! Look at how stupid this moron is!" manner. This is both online and in the real world.

Just because it makes you feel a little dirty that you revel in the mistakes of others doesn't make it a strawman.
Jacob N. @ 9/9/2006 5:06:54 PM
You say that you fear the developer that claims to have never written bad code. I say that no such person has been shown to actually exist, therefore you are attacking a "straw man."
Dan McKinley @ 9/9/2006 6:36:31 PM
Good day to you Mr. McKinley. Just to clarify, it wasn't me that you were replying to previously.

However, yes, I've come across and met plenty of developers who use terms such as "never" when describing when they've written bad code. You might think it's a strawman, yet I consider it an all too common occurrence. However it's hardly like I'm going to start naming names, so I suppose we'll have to accept that you consider it a fiction.
Dennis Forbes @ 9/9/2006 6:53:47 PM
Ah, I see. The poster confused me for a second. Very well then.
Dan McKinley @ 9/9/2006 7:09:58 PM
Good article. Yes I have written plenty of code that I thought was shit, only to have someone say every now and again "that's really good", and I've also had the opposite. But it is really nice when one can pick a mistake in someone else's code and realise that they themselves have made that same mistake, as it is to have someone point out a mistake of one's own and offer their advice in a positive and constructive manner, rather than having some self-proclaimed guru tell how shocking an error it is, that an "expert" would never do like that, and imply how bad a coder one really is. Of course such people are often just covering for their own inadequacies, and too often do so behind a storm of vitriol and bluster!
Andrea Ross @ 9/9/2006 10:00:59 PM
Hi Dennis. I share many of your concerns about TDWTF (now just WTF). I wrote a response that cited your article here:

http://www.codinghorror.com/blog/archives/000824.html

WTF imagines a leap from A to B but only contextualizes A, and assumes B. I think we can and should do more..
Jeff Atwood @ 3/26/2007 4:20:03 AM

Add Comment

Name *:

Email Address:

(your email address is not displayed)
Website:

Comment *:


Dennis Forbes - Dennis Forbes is a Toronto-based software architect and technology writer