In the past few years, you may have heard it said that “everyone should learn to code.” When I taught high school, the emphasis on STEM disciplines was palpable. This exposure to the notion of “learning to code” was part of the reason why I eventually chose to do so. I did, however, find myself wondering why everyone should supposedly learn to code. The following is my treatment of that question (and whether or not it actually is the case).
I love coding. That said, I’m not sure it makes sense for everyone to learn how to code for its own sake. Personally, I don’t love coding as an end in itself. Sure, there’s beautiful code, and there’s always ways to make things more elegant or concise. But, if I’m honest, that’s not what fires me up. Solving problems and making life better is what fires me up, and that’s where I want to turn my attention.
Solving problems. Making life better. These are great things. Those are the things that motivate me the most to push through blockers with code, and in my opinion they’re the best reasons non-developers could have for learning to code.
That said, there are a few specific applications of “solving problems and making life better” that I wanted to discuss. My hope is that the examples might spark an idea of a problem you could solve or project you could tackle if you learned a bit of programming.
Automate the Annoying Stuff
The vast majority of office jobs have at least some rote tasks, which tend to be really annoying. My go-to example of late has been my wife. Every other week at her job, she had to copy by hand the rows from a CSV database report into the same HTML snippet, changing the values each time. It took her about 2 hours every time she had to complete this task.
It took me a while, but I realized this was the perfect task for a computer to do. I sat down and in about an hour wrote a Node.js script that took in the CSV and spat out the formatted HTML. All she had to do was copy-paste the markup into her company’s site editor, and the job was done. After a while, I got tired of having to download the CSVs and generate the HTML for her, so I wrote a small Node app that uses the initial script to take in the CSVs from a file input and auto-downloads the resulting markup. Doing something like this is fully in the realm of possibility for someone that’s learned the basics of programming.
Another automation story I heard recently: a family member of mine knows someone whose job is running PPC advertising campaigns. Apparently, a lot of that job is also rote. The person in question cobbled together some scripts via self-teaching and Google, and managed to automate themself out of a job. Thing is, they haven’t told their boss. They spend their days enjoying the delights of the great outdoors, and nobody is the wiser. I’m not advocating for this, necessarily, but it’s kinda cool to see how far you can take this.
Anything that’s repetitive and predictable is perfect for a machine, and also concidentally the kind of thing that humans hate. Look around at your job and see if there’s anything you could offload to a bot or two.
Generate Business Ideas
One of my favorite YouTubers is Ali Abdaal, who is a big proponent of learning to code. One of the main reasons he gives for doing so is that you become more aware of what’s possible to do. For example, Ali talks about realizing that pretty much every popular app is just a CRUD app.
Along with being able to guess at an app’s architecture, Ali says that you begin to notice more business ideas when you know how to code, because you know what’s possible. I’d agree with this. Even if you’re not the most technical person in the world, if you’re interested in entrepreneurship, having some technical skills can get you a long way, especially with the advent of no-code tools. Knowing how apps and websites function can help you speak with technical co-founders, or build a prototype of your idea. Having some idea of the scale of popular websites can give you realistic expectations when working with freelancers. So, if you want to start a business, learn how to code.
Build Confidence and Self-Reliance
Coding can be extremely frustrating and mentally sapping. That said, it hones the ability to “just figure it out” like nothing else I’ve experienced. Coding teaches you that everything is figure-outable and that mindset can seep into other parts of your life. In addition, the “debugging” mindset is super transferrable.
For example, not long after I started learning to code, the toilet broke in the house I was renting. I normally would have just called the repair man, but I decided to take the cover off of the tank and see if I could figure out what was going on. I saw that the chain that allows water into the bowl was broken, and even though I didn’t fix it, I knew that I probably could with the right materials. This mindset is invaluable and only gets stronger with experience.
These are a few reasons why it would be beneficial to learn coding. I don’t think everyone should learn to code, but if you’re interested in learning a valuable, hard skill that can help you automate tedium, generate business ideas, and build confidence, then it would be worth looking into.