Archive for February, 2011

How to clone Jobmine in a year

So the replacement of Jobmine, known under a number of names, all of them too horrible to reproduce on an esteemed blog like this one, has been scrapped. Students disapproved and several resolved to write their own, one uttering the words “startup idea.”

Of ways to annoy me, proposing a startup as a part of solution for a problem you don’t understand well is near the top of the list.

Similar sentiments have been expressed previously during the project’s lifecycle; when first announced, several declared they could get it done within a four-month co-op term. This week, I was asked to explain why a Jobmine replacement is unrealistic for a year’s work. I had some procrastinating to do, so I jumped on the opportunity. (The title of this post is inspired by How to clone Delicious in 48 hours, which was written in response to similar reactions in December 2010.)

For those not in the loop, Jobmine is the online system supporting the co-operative education program at the University of Waterloo (UW hereafter). UW claims, with some justification, to operate the largest post-secondary co-op program in the world.

Jobmine was first introduced in 2004 and although an improvement over the previous incarnations, is generally agreed to be a horrible, horrible web application. Much of the blame lies with the horrible PeopleSoft software on which Jobmine was based hacked together. PeopleSoft promptly got itself acquired by Oracle next year. The horribleness was too much even for UW to handle and soon there were plans to do it all over again, but ourselves and better.

Disclosure: I was part of the project in the heady days of 2007 and early 2008. In 2007 I was prototyping and exploring and in 2008 I worked on a part deep inside the designed system. I haven’t been in close contact with the team since, and I have no insider information on the cancellation. I’m almost certain none of the prototype code is still active and although I’m not sure it wouldn’t surprise me if the latter code got axed or at least heavily reorganized since. That being said, I’d like to think that with the experience I understand what Jobmine actually is a bit better than the average student.

Here’s a brief guide to what a Jobmine replacement actually needs to do. Unless otherwise noted, this is the bare minimum to merely replace Jobmine, not improving on it much, presumably excluding the UI. (more…)