You might be wondering how a friend’s boat has any relation to the topic of software quality, but bear with me – we’ll get there in a second.
But first, if you’ve got a Twitter account, you’ve probably had the unfortunate experience over the past few days of people using Grok to turn people’s pictures into more explicit versions. And just when you think that nothing could be worse than crossing the boundary of ignoring the concept of consent, we started seeing people doing the same with pictures of minors, aka CSAM.
Twitter continues to be a hard balancing act of trying to engage with the IT community versus being constantly reminded of the depths some people can stoop to. 😢
But I want to bring this back to the issue of software quality. Grok issued an apology about it allowing such usage:
and that’s is where I take issue. Software does not get to take responsibility for software failings, because that is letting the authors of the software off the hook. Let me bring the boat back into this.
My friend owns a boat. Well, in reality, he doesn’t truly own the boat, because boats are very expensive! So in order to satisfy his passion for boating, he joined forces with a couple of mates and they each paid a one-third share to own a boat. They share the use of the boat amongst themselves, planning out who gets the boat on which weekends and holidays of the year.
That raises an interesting question: Whilst they can share the day to day maintenance costs, the jetty fees and the like, how do they deal with the issue of when some damage occurs on the boat?
It turns out, they have a simple rule for that, and please excuse the Aussie parlance (ie, profanity), but that rule is: “If you f*ck it up, you fix it up”
Yes they share a boat, but each person takes individual responsibility for any damage they do.
That same rule is what underpins software quality. You are responsible for the software you write. You, a human, bear sole responsibility for the quality of your code. That’s your primary job as a IT professional. It is not to deliver code, but to deliver quality code.
It’s not the responsibility of the customer who used the code in a way you did not expect. It’s not the responsibility of the tester who missed a scenario which later got revealed to be a bug. They are like the friends owning a boat – they have a common interest in ensuring that things run smoothly day after day, but the code is yours, and if it fails, then that’s on you. “If you f*ck it up, you fix it up”
The rise of AI tools means that as developers, we are getting more and more removed from the actual coding of our software. But don’t for a second think that this means you are equally removed from being responsible for that code. It doesn’t matter if you used AI to code your software. It is your code and your responsibility.
It doesn’t matter if AI spoke to an Agent which spoke to your Uncle Mike whose used his iPad to inscribe COBOL onto a parchment that was attached to a carrier pigeon which delivered it to a Portuguese call centre who typed in the code and compiled it on a server based out of Somalia… It is still your code and your responsibility.
I’m sure the bugs in your code aren’t ever going to be as socially damaging as the Grok disaster, but please always be coding with the mindset that you will never abdicate responsibility for that code to someone or something else.




Got some thoughts? Leave a comment