This is a post from my blog, which I have long since stopped maintaining. The page has been preserved in case its content is of any interest. Please go back to the homepage to see the current contents of this site.
In March 2007, a long-running project that I was working on was drawing to a close. A much busier colleague of mine was struggling with his workload, and since I wasn’t too busy, he passed a simple job on to me. That job was to build a software emulator for a bit of hardware they’d built. All it had to do was make up some fake data and spit it out over TCP/IP, and I reckoned I could do it in a few days, maybe a week tops.
Barely two days later, that project was having some issues with the real hardware, and drafted me in to help test it. I tested, and I learned, and I started going to their project meetings, starting writing documentation, started coding on their main software. My poor emulator fell by the wayside, superseded by more important things.
That day was 3 years, 4 months and 20 days ago.
In that time we’ve been through a dozen team members, three project managers, four business reshuffles, two companies and two customers. Our equipment has been installed at three different sites, and I’ve racked up 25,000 air miles. I’ve worked on eight other projects. I’ve eaten a hundred lunches in the sun on the arm of Portland Harbour, and dashed there in the rain a hundred more. I have given orders to warships, and taken tea with Captains, and I have watched the sun set over Iraq.
And today, at long last, I think I’ve finished that emulator.
This quick software job is done; this issue is being closed, maybe forever. This issue that, though my brain seems reluctant to accept it, is older than my son.
“A few days, maybe a week tops”.