I recently read “Everybody” Does Not Need to Learn to Code and had been thinking about
the idea of what everyone “needs” to know about the technology we use on a day-to-day basis. When I think about technology (and especially when I have conversations with people who don’t “do” technology) I often go back to the great Alan Kay line about technology being anything invented after you were born. I’ve met some hardline self-described technophobes, but none of them have ever expressed any qualms about using electricity.
I couldn’t wire my house, but I feel no qualms about using electricity. And I know it’s not directly analogous, but it’s a lot of what the “everybody must code” argument ends up sounding like to me. There are a LOT of things I can think of that “everybody” needs to know that everybody doesn’t know. Which is fine. That’s why we live in societies–so everyone doesn’t need to know everything. We can specialize and collaborate and build on each others’ talents.
I think it’s also true that context for learning matters (whether it’s code or anything else)–and many of my friends who advocate for learning to code make this exact point–find a project/problem, then decide to learn to code.
And then before I had finished thinking about that article, I read Kids Can’t Use Computers. . . And This is Why It Should Worry You, which makes a lot of excellent points about the disservice we do to students and teachers when we call young people “digital natives” (a term I have always disliked) and move on.
Are we only teaching how to turn on a lamp? Not everyone is going to be an electrician, but someone needs to be. Maybe not everyone needs to learn to code, but we need to create an environment where students who want to develop those skills can.
I may not be able to wire my house, but I can do basic trouble-shooting when a light won’t go on–is it plugged in, is the power strip on, is the lightbulb burned out, is there a power outage? Same when it comes to a computer–I may not be able to fix every problem I encounter, but I can do basic trouble shooting (a step or two above “is it turned on?”)–which allows me to better communicate with people who do have the type of in-depth knowledge and skill needed to diagnose and repair.
And that’s what I think is important–it’s impossible for everyone to know everything they “need” to know. There is always more to know, and some fields evolve so rapidly it’s not reasonable for a lay person to stay on top of every development. What we need more more than to all have specialized skills is to have problem solving and communication skills.
Those problem solving and communication skills, whether they’re developed by learning to code, or building a car, or building a tower out of marshmallows and spaghetti will be applicable not only to questions and challenges students face today in schools, but to questions and challenges they will face throughout their lives.