Why I learned to code
I participated in a 9-week coding bootcamp in the summer of 2019. Today, nearly two years later, I must report that I haven't used any of the programmed skills that I had learned in a very long time. The last time I made a commit to Github was in December 2019.
And yet, I still think the time I took to learn how to code was very well-spent. There are several reasons for this, which I'll cover below.
Tech is now no longer a barrier
I used to mentally block out any opportunities that required technical skills. For example, most job descriptions for tech companies include several lines of "alphabet soup". For software development roles, you might see terms such as C#/Swift, Ruby/Rails, PostgreSQL, React, Node.js, and so on. For analytics roles, it would be a different set - Python, R, Hive SQL, Hadoop, A/B testing, etc.
Prior to 2019, I had no idea what most of the above meant. Today, I'm confident that I could pick up the basics of any of these skills within a few weeks even if I had no prior exposure to them.
By learning to code, I discovered that I have significant interest and talent in this area. While my current occupation pays more, there's no guarantee that it will persist. Knowing that I can have a good backup career (should I want or need it) is liberating.
Additionally, knowing how to code often means we are more comfortable using technology - even those that don't require us to code in the first place. Some great examples are most "software as a service" (SaaS) platforms. When I first decided to start this blog, my first step was to find a service that could host my blog without me needing to build it from scratch. Sure, I could probably hack together a simple content management system, but it would have taken me weeks or even months of effort. Instead, I knew I could pay $9/month to get a beautiful and bug-free solution running immediately, which was what I ultimately chose to do.
I can now recognize good programmers
Many years ago, Paul Graham wrote that hiring bad programmers is one of the mistakes that kill startups. Today, I think it goes deeper than that. In 2021, the majority of non-technical businesses already have digital operations. In China, even McDonald's has recently replaced their automated ordering stations with Alipay/WeChat mini-programs that let you order food for delivery or takeaway. As a business-owner myself, I may need to hire programmers at some point, and it's important to be able to hire good ones.
Learning how to code made me realize that good programmers aren't the same as programmers who know the most languages or frameworks. At its core, programming is about employing logic to solve problems. Good programmers are the ones who can learn quickly and produce the most creative and elegant solutions.
With my current knowledge, I'm better able to distinguish between mediocre programmers who make a living by copy/pasting solutions from Stack Overflow and those who are actually capable of producing new, innovative code where necessary.
I'm prepared for the future
Knowing how to code has unforeseen benefits because it's a skill that's rising in value and importance to the economy. It leaves the door open to more opportunities as it will be a basic requirement for an increasing number of value-generating activities.
To put this in context, let's consider an example. Prior to 1900, horseback riding was the most important skill for long-range transportation. However, about a century ago, the advent of mass-produced automobiles reduced the value of traveling on horseback; within about a decade, driving had replaced riding as the relevant transportation skill. And today, with self-driving cars on the horizon, I can only imagine that the ability to drive will decline in importance with time.
History is littered with once-vital skills that have become irrelevant to the economy - blacksmithing, sword fighting, shoemaking, pottery, and so on. Meanwhile, those that have survived are likely related to solving more general problems - literacy, public speaking, and sales, for example. I'd argue that coding is an ascendant skill that will take its place among the second list.
I think of coding today as approximately equivalent to literacy one hundred years ago. A century ago, an illiterate person could still get by as a farmer or skilled tradesman, just as today, someone with no knowledge of computer programming could still contribute value in a number of industries. That said, I'd still prefer to have known how to read and write in 1921, and to know how to code in 2021.