I stumbled on this Lifehacker post "Don't Learn to Code: Learn to Work With Technology"

I think there are two schools of thought here. Readers & Mechanics


Having a "Readers" view of coding is to believe learning to code is like reading. You can make it though life without it. Especially if you live somewhere in central Africa with hot weather & fertile soil so you can farm the land you live on to provide for yourself & your family. People might say "learning to read would be useful & make trips to town more convenient, but it is really difficult, frustrating & time consuming, I am living just fine without knowing how to read, so it is not necessary". As a reader, when we see this, we think "oh no, you don't get it, if you only knew the power & freedom literacy would give you, you would start today, but it is really damn frustrating to learn how to read, so I won't be the one to try and convince you it's necessary". Readers generally believe that since so much of our work is done using computers, being able to automate the inefficient bits of what we do "Just makes sense". Why would you rename files one by one? Why test the contact from on your wordpress website manually? Learning to code makes you more efficient at many daily tasks.


Having a "Mechanic" view of coding is to think learning to code is like fixing a car. Your car breaks. Who should fix it? I was born in 1983 so my first car had fuel injection, sensors to measure all kinds of things & a computer to read the data & calculate how much fuel to inject at any moment. Knowing which gear the automatic gearbox should be in was also calculated by a computer. This code wasn't open sourced, Chevrolet didn't even give me a REST API or documentation!!!!!!!! Fact, if things broke on the car, I could not fix all of it. I could not do what my dad did 30 years before and take whole cars apart & put it back together in working order. Fact, I didn't want to be a career mechanic. So I did some calculations of my own, I calculated that I would take at least twice as long as a decent mechanic to fix my car, so if I could just earn half as much money as I would pay for a mechanic working on my car, then I am wasting money (opportunity cost of what I could be making) when I work on my car myself. So I decided that until mechanics went into extremely high demand & labor on cars went up exponentially, I will not waste the money (opportunity cost) of working on my car ever again. Unless I was in a position where I am broke or jobless & I need to fix the car before I can go turn hours into money (which has happened a few times). Taking a Mechanic view of coding is to believe that since other people code for a living, they can use the resulting software & focus on what they are good at. Like owning a car & not needing to know how to fix it.

I see merit in both but lean toward the reader mentality. I see the world heading into a direction where being code literate would be useful in more and more situations. Even just knowing what is possible with code & which kinds of jobs should be done by humans & which kinds of jobs should be done by computers. Being able to imagine what kind of custom software would be required to make you more efficient. Even if you don't work on the car yourself, you will one day own one or be responsible for getting one built or fixed.