By everyone I mean EVERYONE

While I’ve primarily posted things so far about teaching programming to kids, I stand by my domain name: computer science is for everyone. Students being able to get first jobs is important…and so is other people being able to start new careers. Two news blurbs to highlight on the subject:

The first, from TechCrunch: Codecademy, one of the biggest names in online programming tutorials, is teaming up with a series of other organizations to create broader initiative ReskillUSA. Their focus, according to CEO and co-founder Zach Sims, is “making the pathways for people clear for how to get from zero to employed,” by assembling quality resources and working to convince employers that you don’t need a college degree to be competent. (Probably obviously, I am SO on board with that.)

The second, from Ars Technica: a groundbreaking initiative to spread California’s ever-expanding tech community into San Quentin Prison. Eighteen inmates are participating in a JavaScript immersion program: six months of eight hours a day, four days a week. Long-term effects remain to be seen; a major challenge so far is that inmates aren’t allowed internet access, so it would be difficult for program completers to consult with and get code out to potential clients before their release. Afterward, though, “[t]he education and training gained from the 7370 coding academy will instantly change the trajectory of my life. There is nothing like being self-sufficient and educationally astute after paroling from prison,” says participant Joseph Demerson.

Any readers with programming experience will likely join me in applauding these men for their dedication: working on a big project without being able to consult related forum discussions when you get stuck is no small feat!

But…not everybody is going to become a programmer.

Oh. So history matters because we’ll all be historians? Kids need chemistry because all of them will be chemists? High school French is important because will become the ambassador to France?

If you’re saying that as a hint at a larger argument that maybe, probably, most of us aren’t entirely sure why high schools have the graduation requirements they do, then yes, by all means, let’s have that conversation.

But for this subject, I can point to concrete reasons. Jobs is part of it, yes, but another part is that even people who don’t do it professionally may be well served by being able to create themselves a website or application. And the bigger picture is that computation is happening in every field, and even if you’re not the one doing it, you’re well-served by being able to understand what’s being computed and why. Does it mean say that we’re focused on critical thinking when we’re missing a giant swath of background knowledge to think critically about? 

And that’s not to mention day-to-day life: In the face of recent credit card information theft, can you really argue that raising the average level of American tech savvy would be a waste of time, or that we wouldn’t do well to know just a little bit more about keeping ourselves and our identities safe online? By continuing to regard programming as a superpower rather than a basic skill, we put ourselves at the mercy of those who choose to use those powers for evil. That seems like reason enough to me.


Update: When I wrote the above paragraph, I hadn’t yet seen this: Americans are, in fact, more afraid of being hacked than of being murdered. Granted, that’s based on self-reported frequency of fearing something rather than intensity of fear, and I imagine having information stolen crosses most people’s minds any time they use a debit card, or whenever they walk into Target, Home Depot, or any other recently breached business, whereas most of us have fewer day-to-day reminders that homicides happen. Still, it seems telling. Keep yourself safe!

Why CS in Schools, Part 1

As I mentioned, this is the beginning of a series on why computer science has a place in our schools, why it’s not there now, and what to do about that. So tonight, as we’re watching polls close and results get tallied, let’s talk about numbers.

Specifically, numbers related to one of the clearest reasons to expose kids to computer science: jobs.

Tech-related jobs abound, but Americans qualified to do them, well, don’t abound. Nationwide, tech jobs outnumber CS grads three to one; on the west coast (what?!) it’s sixteen to one in California and an astonishing twenty-seven to one in Washington.  We’re on track to have a million unfilled computing positions by 2020! And note especially that we’re not just talking about software companies; two thirds of computing jobs are in other fields.


Jobs of any kind going unfilled when unemployment is still at nearly six percent would be unfortunate regardless of the quality of those positions. Given salaries in computing, though, it’s downright outrageous: the 2014 list of the best-paying college majors includes information technology, computer information systems, computer science, software engineering, and computer engineering. Software engineering and IT positions are among the top ten most common for people making anywhere from $48,000 to $207,000 a year, according to NPR (follow thing link for a less blurry and more interactive version of this diagram).


Note, too, that while many other math- and science-related majors appear on the best college investment list, they don’t (other than physicians) show up in the chart of most common jobs. We’ve seen a lot of push for more STEM in schools lately, but if we’re serious about preparing our kids for the jobs of tomorrow (and, frankly, today), it’s time for that to include exposure to computer programming:


Let’s change that.

(The first and last diagram, as well as much of my professional inspiration, come from