This is the second post in a 2-post series: What is coding, and why does it matter? If you haven’t read the first post, give it a read and come back afterwards!
Technology powers our world. From the cars we drive, to the microwaves we warm our food in, to our favorite apps like Netflix, Twitter, and Instagram, technology influences almost every aspect of our lives. Tech is not going anywhere, and continues to tell the world that it’s here for a good time, and a long time.
But for something so widely used, there are surprisingly not that many people who know how this stuff actually works. This creates a whole lot of issues that I’m not going to explore in this post. Rather, I’m going to tell you why learning to code can help you live a better life, and think more clearly about the world.
Compared to other fields, working as a software engineer can be pretty liberating. Most companies pay six-figure starting salaries, give unlimited vacation days, and don’t really care if you work from home every now and then. The culture is usually extremely informal and quiet.
This may sound pretty unreal to some people, because to a lot of folk their idea of a big-shot job might be working intense hours, wearing fancy suits, traveling a lot, or leading big meetings. Don’t get me wrong--this stuff can still happen in the tech industry, but is rarely part of the software engineering experience.
So what’s the catch? Well, coding is a specialized skill in which one person can deliver extremely large amounts of value for their company. As a programmer you may write one program that generates many millions of dollars that year for your company—your salary almost 30-50 times over. Getting paid less than you’re worth is the name of the game for any job, but with coding this scale is so much greater. Also, the tech industry is overwhelmingly white and male, and there are issues that come with that, but that’s for another post. Nevertheless, it’s still a great job.
At the most fundamental level, being a software engineer is about knowing how to break complex tasks down into simple, manageable parts. It’s so important that it has its own name: decomposition. For example, let’s say you want to clean your apartment. One approach would be to move from area to area in your apartment cleaning up whatever you see first. Another, more methodical approach would be decomposing the task (i.e. breaking the task down into simple, manageable parts) as follows:
By doing all the tasks at the bottom, you would also have cleaned your apartment. This example is trivial, but this way of thinking makes it really easy to understand and work through even the most complex and confusing ideas. It’s really helped me navigate tough situations and sticky conversations.
Now you understand two (of many more unmentioned) ways that coding matters: it’s a great career with nice work-life balance, and also teaches you ways to think better.