Why do we want everyone to learn to code? It’s certainly not to produce a nation of coders. I have no delusions about everyone learning to code: it’s not going to happen, and may not even be desirable.
But the underlying rationale behind a slogan isn’t the slogan itself; it’s what the slogan enables. I’m not terribly interested in whether or not ex-Mayor Bloomberg learns Python. I hope that helps him in his new career, but I suspect he’ll do just fine, regardless of his programming skills. I am much more interested in the excitement behind organizations like Black Girls Code, excitement that derives directly from the “everyone should code” meme.
Why black girls? And black boys, too, for that matter? Because, as yet another depressing but absolutely correct article points out, the poor shall inherit…poverty. If you’re a poor black kid in an underfunded, inner city school, your career options look an awful lot like McDonald’s and Wal-Mart. Minimum wage all the way.
Learning to code is one of the few ways to break the cycle of poverty. Back in the early 80s, one of my friends was spectacularly wrong when he said that “he was sad that he was in the last generation of people who would get into software development without a formal education in programming.” (He was a Stanford grad, but not in CS.) That’s been proven wrong every year since then. A formal education in computing is certainly not irrelevant (that’s another discussion), but it’s also not an absolute requirement, and won’t be for the foreseeable future. And those jobs, whether they’re in web shops, back offices, or wherever, are much better than the dead-end minimum wage positions at McDonald’s and Wal-Mart.
And that’s important. Because there really isn’t another reliable way to break the cycle without college. There’s no “Black Girls Practice Law” or “Black Boys Bank.” Law, banking, medicine — any professional discipline except for software — all have a much higher barrier to entry, and all start with a college degree. And for an inner city kid, college is a fragile enterprise. Even if you get into a good school with a complete financial aid package that will support you for four years, you’re still only one emergency away from dropping out. A parent loses a job or gets sick, and suddenly you’re quitting to become the breadwinner.
Even after learning to code, the poor certainly face many barriers to a technical career. Anil Dash has written about the other codes that minorities must learn to succeed in corporate culture, and the changes in corporate culture that are needed to enable success. Dash’s point is extremely important: learning to code isn’t some kind of a panacea that gives the poor a free ticket to social mobility.
But Dash’s arguments about cultural skills notwithstanding: learning to code is table stakes, for the urban poor, for the rural poor, even for the third world poor. I’m sort of amused by the anxiety among certain programmers about the great unwashed getting into their privileged domain. Slogans aside, there are many reasons aside from job skills to learn to code (cultural literacy being among them) — and just as many reasons that most people will not learn to code. An overpopulation of coders? That isn’t going to be a problem. Coders who don’t share the skin color or cultural norms of white male brogrammers? Bring them on; we need more.