The Great Centrelink Debacle and Why We Should All Learn to Program

Everyone in Australia has probably heard this story already; about how Centrelink has been sending out debt notices to welfare recipients; who’ve been flagged by a new automated system as owing money to the government. There’s been a massive backlash by the public and the media; and very rightly so; as quite a lot of those affected have been able to prove that they indeed do not owe Centrelink any money and in some cases Centrelink actually owes them some money. It might seem like this is a pretty clear cut example of the Australian government screwing over the Aussie battler but I think this issue just makes it clear how little Australians at all levels understand systems.

Centrelink HQ

Firstly, let’s look closer at the automated debt calculator of doom. I’m going to use this case reported on reddit as an example. User MJGee shows using screenshots how the Centrelink system has taken his/her reported income of $26,000 in the financial year of 2012–13 and divided it over 26 fortnightly pay periods to come up with a fortnightly income value of $1000. Centrelink claim that because MJGee was earning $1000 per fortnight that he/she should not have been receiving the Newstart allowance. The reality was that MJGee actually only earned $26,000 over 9 months of the financial year and not during the 3 months they were on Newstart meaning that they were entitled to the allowance and don’t owe Centrelink the $3000 which was calculated by the automated system. There are a lot of reported cases on social media that confirm that this erroneous calculation isn’t just isolated to this one person’s debt notice.


You don’t need to be an accountant to understand that the maths here is pretty screwed up. We’ve all come to accept that government departments can’t write software to save their funding (Australian Bureau of Statistics et al.) so this isn’t really a surprise. I think the surprising part is just how low the quality of software development is in this case. The only way that software this broken makes it into the wild is if there are poor requirements, poor communication, poor expertise and poor testing. My bet, is that they didn’t involve someone with an accounting background to establish how to actually calculate the debt and more important to raise red flags when they did it incorrectly.

The way Centrelink projects work

However, the really big disappointment here is how the public, media and politicians have reacted. The social services minister Christian Porter said

“What you’re saying to me is that if people over-respond, or if people find it inconvenient, then the response to that from a government should be to not do it”

This comment is concerning for so many reasons which I won’t get in to but more importantly he’s not even talking about the real issue here. The real issue is that the software system contains a very obvious logic error and that the system should have been shutdown immediately. So my question to Christian Porter and the minister for human services; Alan Tudge; is; why haven’t you shutdown the system yet and asked that Centrelink fix the errors before bringing it back online and do you accept that there is in fact error?

I’d like to be able to say that this technical misunderstanding is an isolated event; unfortunately it’s absolutely typical of an Australian Government department led project. We saw the exact same level of technical misunderstanding happen in the aftermath of #CensusFail. The public, the media and politicians have such a poor understanding of the technology they use, build and report on. So what’s the solution?


Learn to code, teach your kids to code, teach your colleagues to code. Aside from helping you do your own job better, programming has many benefits including problem solving skills; understanding of other systems; and communication skills. I’m not suggesting that everyone become a software developer, but I do suggest that everyone learns a little bit about programming. We all learn a little bit about maths so that people (and Centrelink) don’t rip us off. In the same vein, we should all learn a bit about coding so that we can understand the software we use and the software that our government builds.