On reinventing the wheel

June 13, 2008 – 9:12 pm

One of my fellow CoC bloggers wrote a bit about how CS majors all want to reinvent the wheel and it’s so very true. At lunch with my extended team we hit on the topic of random personal projects and it surprised me (though I suppose it shouldn’t have) that a lot of us all want to write the same set of things: an IDE, a window manager, an OS, source control software and (on my list, at least) an e-mail client and media player / library.

I was wondering why it’s so common for CS folks to target this set of things and I think it’s because these are the tools we use most frequently. If I’m being honest I don’t think I could come up with something better than Thunderbird in my free time but the first things that I’d fix would be the things that piss me off in TB. CS folks are in a special position when it comes to software—if we don’t like the way a program works it’s well within our power to fix it. For me, the fact that I can create almost mandates that I should create, even if it means a lot of work that’s already been done.

This seems to indicate a larger problem though; at some point most projects started this way… the fact that we continue to find so many problems with, well, everything seems only to support to the truth that you can’t make everybody happy all the time. So what’s the right balance there? That’s a hard question but I have two answers for consideration… first you can follow the route of maximizing the average happiness with your product. This translates into a product that nobody really drools over but that the majority of people find to be Not Bad. The second route I see is to follow the philosophy of “Do it ‘Right’ and damn the users.” Software produced by this method is generally more pure, and will maintain a more cohesive feel but it will only work for some. I don’t know what the right choice is (most likely there isn’t one) but I know I’ve been burned on both sides of it… and it leaves me wanting write a bunch of code because these crazy devs just don’t know what I want =)

Sorry, comments for this entry are closed at this time.