Before the printing press was invented in the 15th century, the vast majority of people around the world were illiterate. Which makes sense. Before the printing press, there wasn’t much to read.
Even after the press, it took hundreds of years before a majority of people in Europe were literate, and more than half the world’s population still couldn’t read until more than halfway through the 20th century. There are some fascinating charts and graphs here, if you’re interested.
But this post isn’t about learning to read. It’s about technical literacy.
The first real computer programmers (apologies to Ada Lovelace) appeared in the late 1940s and early 1950s. Considering the fact that they had to write assembly code by punching holes in cards, it’s not surprising that there weren’t a whole lot of them. Now, 70 or so years later, there still aren’t a whole lot of them.
Evans Data Corporation, a company that studies these sorts of things, estimates that there are about 23 million software programming jobs in the world. Of course, this doesn’t include folks who can code but aren’t employed as computer programmers, and it’s impossible to know how many of those there are, but even if there were 10 times as many people who could code as there are people employed as computer programmers, that would still only be about 3% of the world’s population.
As software takes over the world, that’s a huge number of people who will have very little understanding of how anything they use works, and who will find it harder and harder to participate in building new products. It’s like we invented the printing press but only a tiny minority of people bothered to learn to read all the books that are being printed.
I truly don’t believe that everybody needs to learn to program or that we need to teach everybody to be a software developer. There are still plenty of jobs where you’ll never have to write or even read a line of code. But there are going to be fewer and fewer products that don’t have any sort of code associated with them. Smart home devices mean that refrigerators have their own mobile apps now and have to connect to smart hubs. Hotel keys have embedded chips. Sales teams use complicated CRM systems to manage relationships. Everything is sold online. The number of jobs that don’t require any technical ability is becoming vanishingly small.
Understanding how technical things work and interrelate is incredibly important. It can also be incredibly intimidating. There’s just so much to learn, and it can be hard to figure out where to start. Let’s say you want to build a simple mobile app. What language should you use? What development environment? How do you get started? What are packages and libraries? Do you need a server? What platforms should it run on? Why am I getting all of these cryptic errors??? I don’t blame people for taking one look and running for the hills. We don’t make it very easy to get started.
The Easy Way to Get Started
It doesn’t have to be this hard. The great thing about building stuff for the web is that you can get started it with nothing more than a text editor and a browser. With the knowledge of a few pretty simple things, you can start making things that work immediately.
Even if you never ship a single line of code to a customer, being able to make something yourself can give you the confidence to start learning about other, more technical aspects of building products. If you work with engineers, it can give you a better understanding of some of the challenges they face. And, if you’re anything like me, it can make you feel amazing and powerful and a little bit like a wizard.