Chris Schmidt (crschmidt) wrote,
Chris Schmidt
crschmidt

Coding practices

A long time ago in a galaxy far far away, I used to play on a MUD called Lunar Eclipse. (telnet://lunar.betterbox.net:2500 , if it's still around.) Right around the time I started playing, a new coder was brought into the immortal team, Antilochos.

Anti was a cool guy. I was starting out as a Paladin - Anti was also the "Lord of Paladins" or something like that - I don't remember the exact phrase. Anyway, his primary goal in coding seemed to be to bring the Paladins (a notably under-skilled class to start with) into line with the rest of the fairly powerful classes on the MUD.

He did well at this. He coded a lot of nifty features and so on. But in the end, he did that job a little too well. He ended up creating paladins as an over powerful class, and leaving a lot of other things unfixed. One of his tasks was supposed to be fixing the math behind attacks and so on in the MUD - something he didn't end up doing at all, which caused a lot of trouble in the end.

The entire situation reminds me very much of LiveJournal development, right down to the other staff. Elentari was the overbearing head immortal - she paid the bills, and because of it, it seemed like she sometimes acted like she could do whatever she wanted. Domino was the quiet second in command. He always had something up his sleeve - new areas and so on, but it was never big and flashy, and he was oftentimes a peace keeper. Krystnaalt was the justice, bearing trial over crimes committed in game. Antilochos was the new guy who came in, didn't really realize what he was doing, but went about making a lot of big changes - ignoring some of the social mores preventing such big changes.

I can see a mapping here to the LiveJournal staff. Brad is the leader of the pack. In the end, all decisions and so on go through him. Domino reminds me a ton of Jesse - been around for ever, but not flashy, just kind of working in the background. Krystnaalt reminds me of Ferrell - a cool guy who just tries to do the best he's got with what he has. And Anti reminds me a ton of Mark.

Now, here's where the problem comes in. Anti eventually got fired from immortal staff. The reason was simple - he ignored the little stuff in favor of the big stuff. He made huge changes to the system of classes that put the Paladins in place, while leaving the little bugs because they weren't "important enough" in his mind. I see a striking similarity here between the new guy mentality.

Mark has put in a ton of time developing on LiveJournal. There's a bunch of new features because of him - features that a lot of people like and enjoy, and think are really worthwhile. However, at the same time, the bug tracking database fills with bugs. Currently, there are 472 bugs open in the LiveJournal bug tracking database. In one week, I reviewed something in the neighborhood of 21 bugs - on my own, in free time, in addition to having an academic career. Yet it takes weeks or months for employes to catch up to patches. 8 months for a patch to sit - 3 lines of a patch. And it sat for 8 months, until an employee came along and said "That's not good enough, sorry." 5 minutes of review, a minute writing a comment - 10 minutes max of looking, and it took 8 months. Why? Because nobody pays attention to the "shit work" on LiveJournal. The small, idiotic things get left for "volunteers", where they don't get done because, amazingly enough, not a lot of volunteers enjoy doing the niggling shitwork.

In the end, Anti got fired because he didn't take care of the shitwork. I don't think that will happen at LJ, simply because here, the shitwork is passed off onto volunteers without a second thought. It's not a spoken rule, or anything resembling one - it's simply an unspoken rule that seems to be commonly followed.

I see a lot of work being done on new features, new improvements - and not many bug fixes at all. I hope at some point in the future that changes without a volunteer force behind it. I try and be that force, but I'm tired of it. I'm tired of being told I shouldn't consider myself a LiveJournal developer, simply because I don't write the huge patches. A lot of little stuff has gone in because of me - a lot of little changes that people see everyday, and no one realizes. There's a lot of other people out there like me - Zach, for one, and a bunch of others that I can't even begin to name because there are so many.

Sadly, no one seems to care at LiveJournal. 472 open bugs, 300+ of which are non-enhancement, 200+ of which haven't been touched, even with so much as a CC list change, for more than a month.

Hopefully it can change.

Sadly, I doubt it will.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 17 comments