The rationale for this rapid curricular renovation is economic. Teaching kids how to code will help them land good jobs, the argument goes. In an era of flat and falling incomes, programming provides a new path to the middle class – a skill so widely demanded that anyone who acquires it can command a livable, even lucrative, wage.
This narrative pervades policymaking at every level, from school boards to the government. Yet it rests on a fundamentally flawed premise. Contrary to public perception, the economy doesn't actually need that many more programmers. As a result, teaching millions of kids to code won't make them all middle-class. Rather, it will proletarianize the profession by flooding the market and forcing wages down – and that's precisely the point.
(Score: 2) by urza9814 on Tuesday September 26 2017, @12:53AM
Yup. Although I'd go a bit further and say that, while not being able to code might not lose you a job, knowing to code can certainly get and keep you one. No matter what that job is.
I've got one friend whose job literally involves counting the fish in a stream. Back when I was still on Facebook, she was always on there posting about some Python script or VB macro or whatever that she was using for her job. She had no formal education in coding, wasn't hired to do coding, but it sounds like she ended up coding for the whole damn office and became absolutely essential for their work.
Got another friend who got a second job doing bar trivia...and uses little Javascript functions to help come up with questions! Saves her a lot of prep time, which lets her questions be a bit more varied and complex than they would otherwise.
And a third friend works for an organization that helps low income folks deal with their utility bills. And he's working on a custom database front-end to help streamline their operations so they don't have to do data-entry off paper and pencil forms anymore. Which means their interns and volunteers can do something more useful than hours of data entry.
There's very few jobs that can't be improved with some good software skills. Of course, it also helps a lot if that education is broad rather than deep. It never ceases to amaze me how many *programmers* just don't understand how to use Microsoft Access/OOo Base, and will spend hours writing custom software for something they could do with one of those in five or ten minutes. Sometimes Javascript is actually a great choice if you just need a quick and dirty UI. If you're doing file processing, shell scripting is incredibly powerful. For more complex math, Python has some nice libraries. You don't need to know every detail of all of those environments, but you can't use them if you don't know they exist. So a program that spends two years teaching Java is great for future developers, but for everyone else that time would be better spent doing six months in four different systems.
But it's probably also good to actually avoid standardizing this kind of basic software literacy class too much. You can't teach everyone everything, so teach everyone something different so hopefully there's always a friend or coworker around who can suggest a different approach...