Coding Matters: The T in TDD

AI-generated cartoon. A taxi is going through a red traffic light in the wrong direction in a one-way street. The driver leans out of his window to type some code on a laptop.

A note for the uninitiated: TDD is an abbreviation for Test-driven Development.   It is a way to develop software that focuses on writing automated tests before writing the actual code.  The intention is to promote early bug detection and better code quality.

Taxi-driven development

I was amazed at the number of serious traffic violations I saw this week. Not just going through traffic lights after they’ve turned red. That’s become standard practice for the average, not-so-good driver. (If you’re offended, that’s a sign. You might need help.) That led to a strange train of thought.

Living with taxi drivers on SA roads is a bit like living with AI-driven development. Both are fast, both are unpredictable, and both always insist they’re doing the right thing.

Welcome to Taxi-Driven Development.

Your future has arrived

Years ago, a colleague and I used to fantasize about 007-type devices that we could attach to our cars. Not to do serious damage – just to encourage taxi drivers to make better life choices. You’ve probably done the same. Or, at the least, indulged in unprintable language when yet another taxi forces its way in front of you.

But taxis are a permanent feature of South African roads. For many workers, there is no alternative means of transport.

AI is the same. Love it or hate it, it is here to stay. It will be a permanent feature of whatever the work landscape eventually looks like. Fantisizing about ways to blow it up are just fantasies. Throwing a Molotov cocktail at Sam Altman might make you feel better, but it won’t stop AI.

Fast, faster, faceplant

Taxi drivers believe in speed. Efficiency is irrelevant. They’ll overtake three cars on the wrong side of the road, and then suddenly stop because someone waved at them.

Managers want you to use AI so that you generate code faster. And AI does that: 400 lines of code almost before you finish typing the prompt. Technical debt is irrelevant.

Taxi drivers and AI are like the cartoon character, Wile E. Coyote. Both move faster than you. The difference is that when they go off the cliff, you are the one who has to fix the mess at the bottom.

Chaos is the new design pattern

Taxi drivers know about the rules of the road. But they are just guidelines for a special kind of creativity. “Stop” means “Slow Briefly”. “Lane” means “Lane Adjacent”. “No Stopping” means “Pick-up Point”.

AI does the same. Your architecture is just a guideline for AI creativity. “Don’t hallucinate” becomes “I’ve imported a library that exists in another universe”.

But while the taxi driver leaves you braking so suddenly you can’t even curse, AI’s creativity is more subtle. Which means it takes you much longer to find it.

Trust me, I know what I’m doing

Every taxi driver believes in his absolute right to drive the way he chooses. And no matter how reckless his behaviour, he is absolutely confident about his driving skills.

Sound familiar? As we’ve learned to our dismay, AI is just as confident about its output. Right or wrong, its belief is absolute.

There is only one difference. AI is polite. Taxi drivers blow their hooters, loudly and often.

I’d love to hear your comments.

If you enjoyed this, subscribe to our weekly newsletter

Leave a Comment

Your email address will not be published. Required fields are marked *

Your Java tip is on its way!

Check that incusdata.com is an approved sender, so that your Java tips don’t land up in the spam folder.

Our privacy policy means your data is safe. You can unsubscribe from these tips at any time.

Thank You

We're Excited!

Thank you for completing the form. We're excited that you have chosen to contact us about training. We will process the information as soon as we can, and we will do our best to contact you within 1 working day. (Please note that our offices are closed over weekends and public holidays.)

Don't Worry

Our privacy policy ensures your data is safe: Incus Data does not sell or otherwise distribute email addresses. We will not divulge your personal information to anyone unless specifically authorised by you.

If you need any further information, please contact us on tel: (27) 12-666-2020 or email info@incusdata.com

How can we help you?

Let us contact you about your training requirements. Just fill in a few details, and we’ll get right back to you.