Coding Horror

programming and human factors

Levelling Up in the IDE

I have nothing against World of Warcraft, but the Gamasutra editorial World of Warcraft Teaches the Wrong Things highlights one problem I have with the entire MMORPG* genre:

[WOW teaches players that] investing a lot of time in something is worth more than actual skill. If you invest more time than someone else, you "deserve" rewards. People who invest less time "do not deserve" rewards. This is an absurd lesson that has no connection to anything I do in the real world. The user interface artist we have at work can create 10 times more value than an artist of average skill, even if the lesser artist works way, way more hours. The same is true of our star programmer. The very idea that time > skill is alien.

Nothing demonstrates the massive disconnect between time, skill, and value better than ProgressQuest. My character SuperWumpus is on the cusp of level 86:

ProgressQuest screenshot - character SuperWumpus

ProgressQuest does away with all that tedious gameplay grinding and lets us focus on what really matters-- levelling up. The game's Latin motto is quamvis progressio, which means "as much progress as you please." To further emphasize the point, the logo is two crossed swordsprogress bars:

progressquest-logo.png

You're fighting with time: the person who "plays" the most ProgressQuest wins.

This is something that the Pragmatic Programmers warn us about on slide 46 of their How to Keep Your Job presentation, which is about becoming a better, more deeply skilled programmer:

Excerpt from How to Keep Your Job presentation, slide 46

The EverQuest Syndrome is the same problem highlighted in the GamaSutra article: just because you spend a lot of time doing something doesn't mean you're doing it well. Here's a good example from Weinberg's The Psychology of Computer Programming:

Using this sort of measure, we can easily fall into believing that the worst programmers are the best-- because they work so hard at it. A case in point was a programmer who worked 14 hours a day, seven days a week, for eight weeks to get a small program running in a new installation. For his efforts, the company gave him an award for exceptional service. Shortly thereafter, another programmer (the first had been promoted to a management position as an additional reward) was tasked with making some additions to this program. He found that the program was such a confusing mess that it was easier to rewrite than modify.

The rewriting and debugging took exactly one week, working normal hours. Even considering that writing a program for the second time is far easier, the difference is significant. Moreover, the new program ran eight times aster, took half the storage, and was half as many lines of code. Clearly, the first programmer had been rewarded for making a mountain out of a molehill. The discovery of this misapplication of management largesse led to a severe drop in morale.

If you want to "level up" in your IDE, you can't do it by grinding through all-nighters. You have to build your skill portfolio.

* I searched for this link and one of the top hits is this Wikipedia is a MMORPG article. I've often thought that online forums were, in essence, multiplayer games.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror