I’ve
been a software engineer for over 25 years now and my past is filled with
legacy projects – some successful and some not so – some still live and others
long since dead – and most importantly some that I would be happy to work on
again and others that I certainly wouldn’t.
So
how do you get to pick and choose which ones come back and which ones stay
buried in the past. I think the real answer is you don’t, it just sort of happens
and you have to put up with what you get.
I
did two stints to fix the same bug for two slightly different deployments. The
first one was a bit of a disaster for me financially because I did the work in
less than half the budgeted time I had given and only got paid half the money –
hardly worth getting out of bed on a weekend for. But I ensured the second one
was done on a fixed price and after a quick fix I ran with the cash.
The
worst project I worked on was at Primary Image where I was responsible for
writing the SCSI scripts which ran on an embedded SCSI controller and
controlled a tape drive for archiving digital video. The ‘happy path’ software
was fine but as soon as the error handling code was added the scripts became a
rabbit’s warren of execution paths.
Looking
back it feels as though that was all I worked on at the company but there were
other enjoyable projects. This one had been put to bed and was running happily
until a client in Ireland reported that they couldn’t retrieve data from the
tape and they needed it to catch a man suspected of cashing a fake social
security cheque. The prospect of revisiting the code was a nightmare but it had
a silver lining – I flew out to Dublin for the day, discovered it was user
error and flew back. The only disappointing thing was not getting to see any of
Dublin except from the back of a cab because the bank manager insisted I
accompany him to their free staff canteen for lunch instead of site seeing and
then gave me a lift to the airport on his way home to save me the taxi fare
only to deny me another opportunity of site seeing before my late flight.
While
working at Atkins (the whole millennium so far) I have worked on a number of
large projects which have stayed with me in one form or another. The Carbon
Tools Knowledgebase was a carbon modelling system created to be delivered as
Software as a Service, we spent a fortune building it only for the recession
and a change of CEO to cause it to be cancelled. Another was Transport Direct,
a public web site offered by the Department for Transport which was the only
true national multi-modal door-to-door journey planner available, it was
cancelled because the EU insisted the DfT retender to extend the 12 year
contract and they couldn’t justify the expense.
Instead
of deleting the Knowledgebase system from the servers when it was cancelled I
moved it to some new servers so that a few people who had been using it could
still use it on the QT. One of these users has just sold the complete service
to a national organisation and the project has come back to life – and guess
who the only person left in the company with knowledge of the system is? Yep,
yours truly.
It
was always ‘my baby’ and in some ways I’m happy that it has come back to life,
but I have other things to work on now and it’s a distraction. I’ve been
helping somebody familiarise themselves with the code and pointing them in the
right direction to investigate the few minor issues with the software. But I
can’t help wondering how he’s getting on and want to chase it up.
Most
of the IP for Transport Direct belongs to the DfT, so they made it Open Source when
shutting down the project in the hope that somebody might pick it up and offer
the public the service again. There isn’t a car planning service that can
provide a journey plan for future days with predicted congestion, so there is
now a gap in the market, albeit one that wouldn’t generate any revenue. It has
already been picked up for exactly this reason and I’ve been contacted by the
company concerned asking for assistance with getting it running.
I’m
less inclined to get involved in this software again but I feel guilty denying
Atkins the opportunity to make some consultancy money from the situation. And
we might miss out on selling the bits of IP that we own from the project.
With the advent of
Linked-In and other social media sites I wonder if changing jobs would get me
away from these legacy projects in the same way that it has done in the past –
I think the fact that the DfT have always managed to find me and others with
party invitations in the last few years of the project when we were no longer
directly involved suggests maybe I couldn’t.