“Learn to code.”
Familiar with the phrase? It’s a rather insensitive shorthand way of suggesting that someone enhance his commercial opportunities by acquiring new skills. That can be sincere advice; Walter Brooke encouraging a young Dustin Hoffman to pursue a future in “plastics.” It can be a practical career choice, as demonstrated by a handful of out-of-work Kentucky coal miners who successfully made the transition from working bituminous mines to agile coding techniques.
Most recently — as in last week — “learn to code” is a snarky rebuke to displaced print and internet journalists, and in particular to people recently let go by Buzzfeed, the Huffington Post, and the Gannett media giant. In part, the comment is intended to be karmic, alluding to an attitude that prevailed during President Obama’s tenure when his administration bragged of shutting down entire industries (coal mining, for example) and some in the media glibly suggested the displaced workers upgrade their skills and go get good jobs — in short, “learn to code.”
I code. I’m good at it. I’ve been doing it for a long time, far longer than the average Buzzfeed journalist has been alive, I suspect. I know a thing or two about writing software, and so I want to offer some advice to the young journalists recently of Buzzfeed and the Huffington Post who might be considering a foray into the verdant pastures of my industry.
Software isn’t what you’re used to. Software is the real world.
We all have a pretty good idea, or, at least, a strong suspicion, about what goes on in the modern newsroom. We understand that most everyone thinks pretty much the same way, supports pretty much the same causes, tilts the news in pretty much the same direction. (That’s to the left, in case anyone isn’t clear on that.)
We know that standards are pretty low, particularly at Buzzfeed but pretty much everywhere else as well. (See Covington for a glaring recent instance, but examples abound.) We know that there’s a tendency to pick the news that fits the preferred narrative, and to studiously ignore inconvenient truths. Some of it — most of it, probably — is innocent, the simple consequence of living inside a bubble and breathing the same righteous atmosphere as everyone around you. It’s understandable and even forgivable. But it isn’t real.
Software is real. Computers are remarkably unforgiving things, completely disinterested in your view of the world, your sense of what should be. Computers don’t care about your groupthink, your consensus, your so-called settled science. They simply do as they’re told — exactly as they’re told. They do it quickly, reliably, relentlessly, inflexibly, and mercilessly.
You can’t sweep software details under the carpet. You can’t ignore exceptions that don’t conform to your hopes and beliefs. You can’t make computational reality real by wishing it so, by telling others it’s so, and by agreeing with all of your peers that it’s so.
By all means, learn to code. It’s a wonderful business, a rewarding and often lucrative activity, and a lot of fun. But it’s going to require something new from you: a commitment to reality, to comprehensive analysis, to an open-minded consideration of the various sides and aspects of a problem. Approach it that way and you may be successful.
But business as usual? No, you’re going to have to up your game if you want to succeed in the real world.