why tech bros criticizing covid models don’t know what they’re talking about
One of the most bizarre parts of programming today is the fact that you may need to write software for just about anything at a moment’s notice. I’ve written way too many lines of code to count to help accountants, lawyers, insurance agents, and call centers solve their problems. Hell, you may have even interacted with some code I’ve written today to pay a bill or report some sort of emergency. But if you’re now thinking of asking me to do your taxes, help you win a case in court, or build your own fiber network, please reconsider.
You see, my specialty is putting math into terms a computer can understand and move data around in ways humans find most useful. I’m not a CPA, I didn’t pass the bar in any state, I’m not an actuary, and I’m not a network engineer. Consulting at length with experts is how all of that code was written, and a process was improved only because going over the steps raised questions that weren’t asked, or by introducing new technology, those experts had new ideas.
Programmers don’t come in to “disrupt” everything we touch because that would be stupid and destructive, and so we rely on those who understand the context of the tasks at hand to guide what we do, how, and why. Unfortunately, with so much fawning over the Tech Bros of Silicon Valley in pop culture and a wide swath of the media, far too many tech and engineering people on social media are badmouthing COVID-19 infection models and public health advice for very dumb reasons, acting as if they know more than the epidemiologists because they once wrote code that compiled and ran.
criticizing models for the worst reasons
Obviously, Elon Musk is the most visible face of this phenomenon with his very public fits on Twitter that led to a bounty of “Elon is Space Karen” memes, but honorable mentions also go to game designer Jason Rohrer and computer science professor Neil Ferguson. I’m going to pick on them specifically because they illustrate both extremes of a spectrum. One is your typical social media loudmouth who thinks that he because he can Google some numbers, he’s an instant expert on infectious disease. The other is an academic inflating his expertise in quotable ways that helps undermine good science and public health policy.
Let’s start with the former, specifically Rohrer’s case, which seems like typical dumbassery, to put it bluntly. He thought it was odd that during the AIDS epidemic that killed over 700,000 people unprotected sex was legal, but during this pandemic, which killed more than 100,000, shaking hands was somehow outlawed. Of course, no one will throw you in jail for shaking hands, just advise you not to do it, much like during the AIDS epidemic people were advised not to have casual unprotected sex with strangers. He also seemed not to realize that it’s much easier to catch and transmit COVID-19 than AIDS.
Ferguson, on the other hand, did something far more insidious. Rohrer looked at a number and used it to justify a stupid thought he couldn’t help but tweet. Ferguson along with a few of his like-minded colleagues decided to attack the model used to justify social distancing in the UK by calling its code a mess and comparing it to industry standards, saying they would fire anyone who wrote such code. But as someone who works in the industry, I find it very hard to believe because seeing others’ messy, tangled, malformed, barely readable code is a daily occurrence.
All of us have written code of which we’re now ashamed. If everyone who ever ended up with a hacky mess of an app or service was fired for the offense, the whole comp sci field would have no one but professors in tweed jackets who wrote perfect code on blackboards. And it’s at this point that I should tell you that I worked with industry code written by notable and well-liked professors, by which I mean I tried to fix the aftermath of the tangled abominations they left in their wake. Given that information, you can probably guess my reaction when I see one ridiculing code style and structure.
knowing how to code doesn’t mean knowing what to code
Yeah, code written by scientists rather than programmers will be messy. They don’t spend years learning the finer points of architecture, code reuse, type theory, and code smells. We have to know it because we have to build software that will run for years, if not decades, solving tasks that may require dozens of actions in parallel and sequentially, and they need to be easy to fix, maintain, and re-deploy with a few clicks. Scientists have no such constraints. They need to sort through a lot of data, crunch the numbers, and come up with an answer to a specific problem.
It’s a fundamentally different purpose, and any programmer who says that their quick scratch apps meant to solve something once or twice, or as a proof of concept was a DRY and YAGNI clinic that was ready to go into production at a moment’s notice is either a delusional fantasist or lying. Ferguson is measuring the work of a different discipline using his own metrics and ends up with the equivalent of saying that Usain Bolt is a terrible runner because he doesn’t run in a tailored suit. Note that nowhere does Ferguson say that he knows that the model is wrong, he just assumes it’s wrong because he thinks the code is messy.
If we go back to our analogy, it’s like insisting that it doesn’t matter if Bolt has a world record in the event in question, and by all standards is an elite athlete because we can assume that he’s terrible because we’re put off by him wearing shorts when he runs. Sounds stupid, doesn’t it? Yes, it does because it is. Yet the media trumpets Ferguson’s extremely stupid verdict with supporting quotes from other numpties happy to bitch and moan about spaghetti code, which is then used to justify support for even dumber actions in dealing with a pandemic.
So, the next time some tech bro or computer science professor decides to ridicule statistics and epidemiological models from actual experts on infectious disease, take them not just with a grain of salt, but pretty much the annual output of a salt mine. They don’t know what they’re talking about. They just saw some code or mention thereof and decided that because one of their apps can do math, they now have all the expertise and education to scrutinize the work of those who spend a decade just learning enough to figure out what goes in a model and why, and their advice is about as useful as a third testicle on a store mannequin.