With nine months of real work experience under my belt, I felt I knew everything. It was time to branch out and be a contractor, earning the fabled bucketloads of cash. In my early career, life was simple like that.

Sadly, the dotcom bust had just taken place, so finding a contract wasn't so easy. I almost asked for my old job back.

But by March 2001, I found myself at eMCSaatchi, the digital arm of M&C Saatchi, working on the Rover website.

The team had about a dozen techies. Almost all of us were contractors. Everyone else was making double the money I was, but hey, I had to make rent. So here I was.

My primary project was completing a car configurator. This showed you the various options for the cars, in which combinations you could buy them, and the resulting price.

My JS-based page was a placeholder, soon to be replaced by the work of the two Java programmers and the database guy. I finished up the project fairly easily, based off a set of brochures. It had a lot of programmatic rules, covering colour combinations and the like. My page only covered the UK combinations.

I spoke to the others. It turned out that they hadn't even started work yet. They were just sitting there, thumb-twiddling!

Nobody had given them a spec yet. They were waiting to get in touch with Rover's IT department, which they were confident would just have data on hand, ready for export. The project manager, Mike, a sound bloke, was going crazy with frustration.

Finally, they got their meeting with IT. Poor Mike had to drive all the conversation. It transpired that their database covered only manufacturing, not sales. The two are not really connected - not even close.

So I spoke to our database guy. What was our plan?
Oh, he said, we wait for them to connect databases, give us the export.
But that'll take months!
Well, we need the spec.
But we know the spec, I say. Surely it's a simple relational database? Cars all have four wheels, one engine, and so on.
Ah, he says, but you don't know that.
What? I say. You can't have a car with two engines!
You don't know that until we get the data! Maybe they will?
What? I said, I have the data. Look, it's here in these brochures.
Ah, he says, but we want a generic configurator. So we can sell it to other clients if we want.

I got nowhere. I couldn't understand his lack of interest in just getting the job done.

So I went home.

And I thought about it.

And I came back to work.

I spoke to Mike. "I think," I said, "this is silly. How about I go home this weekend and build you this configurator? Obviously you'd pay me a little extra. But you're getting nowhere right now."

"Deal," he says.

Now, I don't want to toot my own horn too much here. By this time, I knew the car specs inside out. It was Easter weekend - I had four clear days. And I worked a good 14hours a day. But by Tuesday morning, I had it working.

A bit rough around the edges, hanging off CSV files and Perl, but working. And, generic. You could configure anything with this thing.

It caused a storm.

Two weeks later, the database guy was out. Mike was happy, probably for the first time in his life. The Java guys spent a month recoding my work into XML and Java, for internal consistency. This is really clever, one said. You could configure a kitchen with this.

But my first fail was in getting paid. I handed it over too soon. They promised, and promised, then made excuses, then apologised, and gave me just 32hours pay.

The second big shock came after launch. We'd got one country out, it was beginning to work.

And they let me go.

I'd saved the company a fortune, delivered on time, and worked myself out of a job.


But it wasn't a complete loss. Six months later, they were struggling to deliver. The system needed an update, needed support. To prevent losing their most lucrative client, they needed a big change. First on that list? "Hire kpk"

Mike gives me a call. "How much do you want?" he says.

Thanks for reading! I guess you could now share this post on TikTok or something. That'd be cool.
Or if you had any comments, you could find me on Twitter.