Ok, as much as I also would like to complain about how idiots rewriting all banking software in php will break the seventh seal and usher in the apocalypse, that wouldn’t really be engaging with the central thesis of the article. The real question is this: Will coding become an accessible, reasonably well paying job option in the way that many blue collar jobs were in the post-war period?
No, no it won’t. What the hell are they even thinking?
Quoting Scott:
A lot of people [at the Asilomar Conference on AI] were really optimistic that the solution to technological unemployment was to teach unemployed West Virginia truck drivers to code so they could participate in the AI revolution. I used to think this was a weird straw man occasionally trotted out by Freddie deBoer, but all these top economists were super enthusiastic about old white guys whose mill has fallen on hard times founding the next generation of nimble tech startups. I’m tempted to mock this, but maybe I shouldn’t – this From Coal To Code article says that the program has successfully rehabilitated Kentucky coal miners into Web developers. And I can’t think of a good argument why not – even from a biodeterminist perspective, nobody’s ever found that coal mining areas have lower IQ than anywhere else, so some of them ought to be potential web developers just like everywhere else. I still wanted to ask the panel “Given that 30-50% of kids fail high school algebra, how do you expect them to learn computer science?”, but by the time I had finished finding that statistic they had moved on to a different topic.
Computer programming is about context-free symbol manipulation. (There are probably other jobs that are like this too.) In order to get a machine to do something, you have to be able to simulate that machine in your head. I don’t mean in some super low-level way; I just mean that you need to be able to run a program in your head to see if it does what you intend it to do (or, as is often the case, see why it’s doing something unintended). Machines don’t do what you want them to do. They do what you tell them to do.
This is not a trivial barrier to entry. Having TA’d programming classes before, I can confidently say that some people do not get this at all. When someone would ask what a particular program did, many students would attempt to divine the intent of the writer of the program. That is, they would answer what they thought the program was supposed to do (presumably based on the comments and variable names). This is not a useless skill. It gives you the right answers when a program is correct. As a working developer, it’s useful when trying to reverse engineer requirements from existing code (that may or may not actually fulfill those requirements). It’s not very useful in debugging though. And that’s mostly what programming is–taking incomplete or buggy attempts at solving a problem and refining them into a working solution.
In the class itself, people who didn’t really get it could skate along for a while, since they were mostly looking at code that worked. Eventually they would crash and burn, though, as the complexity of the assignments would outstrip their ability to make a working program on the first attempt. This is shitty from a pedagogical perspective, so a lot of my review sessions focused on this skill of simulating programs. One type of exercise that worked really well (both for breaking through this conceptual barrier as well as providing good practice) was to generate nonsense programs and then ask what they did. There’s really no way around simulating a program when the variable names are all single letters and the code snippet does not actually have any intelligible intent. Some people would eventually get it. I’d like to think that with enough time and effort that everyone could get it, but that’s probably not realistic even when we’re just talking about college students at selective institutions.
So, whenever I read something about the loss of well-paying blue-collar jobs that talks about retraining and the tech industry, I feel baffled that they don’t consider the obvious objections. Actually, scratch that. I feel insulted!