Tech Talk Logo

Learning to Code is the new Universal Skillset

Once, mechanical skills were the requirement of pretty much everyone that wanted to do anything themselves. If your plow broke down, it was good to be able to know how to fix it. If you needed a pair of pants, it was good to know how to make them yourself or mend your old ones. These were mechanical tasks that although took a little knowledge, didn’t overwhelm the majority of people to learn. Today, we live with things that aren’t so easily repaired or created from such simple beginning materials. Instead, we live in a world where there is seemingly very little that you can do for yourself, and if you can, there is very little that you could do as economically on your own, as you could have it done by someone else cheaper. There is one thing that will get you closer to being that handyman of old than anything else these days though. That is coding.

There is hardly a device in existence today that someone hasn’t made a computerized version of. There are all sorts of devices that, for better or worse, have been made to connect to the internet. Even toasters, can openers, and keychains. Don’t ask me why, but they have done it. The thing is, when someone comes up with good enough reasons to computerize a device, you can bet that ten years from that point, you will hardly be able to buy one without that feature.

People think about coding as being simply the programs that run your hardware. These days though, the line between software and hardware is extremely blurred. Today, you can literally program a microprocessor onto a chip called an FPGA (Field Programmable Gate Array), and have it run faster than the original. You can literally make a radio tuner from about 10 parts, and one of those parts is a speaker. You can do this stuff because tons of hardware can be represented by software these days.

All of what has preceded is simply to explain the reason why learning to code is really the new knowing how to swing a hammer or turn a screwdriver. You won’t be able to fix much without such knowledge, and you won’t be able to create much that is new without the same skill. You can look all over YouTube at people that do videos about handyman type skills, and ultimately you will see them using microcontrollers, or small computers to do tasks, so even old skills are now augmented by coding. It’s simply the way the world is moving.

The reason I am pushing this idea so hard is because as much as you might consider using a screwdriver or a saw to be a basic skill, coding has more and more become a basic skill, and you need to know how to deal with the world when the time comes for you to necessarily know that skill, or know someone who does.

Yes, you might be able to hire someone to help, or you might even know a family member that can help, but think of all those people who would have to still call for help, when if it were some other kind of task, such as changing a motor, they would have no trouble doing it themselves.

Future Generations Need This Knowledge

You may not be able to learn to code. There is no shame in admitting it, as we all lose the capacity to learn new things as we get older. On the other hand, we have always relied on younger generations to keep us connected with newer technology. The old meme about the toddler talking his grandmother over fixing her computer over the phone comes to mind. The problem is, I don’t think people realize how important this skill will become in the not too distant future. It will determine employability and pay rate as much as knowing how to read. In fact, I liken learning to code to learning to read. It really is just another way of putting sentences together. Sure, it has ties to mathematics and logic, but ultimately you are using words to tell computers what to do. In fact, it is possible for a person that has never coded before in their lives to understand code. Take the following code snippet for instance:

x = 12
if x < 20:
     print(“X is less than 20”)
else:
     print(“X is greater than or equal to 20”)

That is a valid python code, but it could very well be any other language, as they are all very similar. I bet you can tell me what the output of that code will be just by looking at it, even if you have never written a line of code before in your life. You may not have known how the print statement worked in python, but when you saw it, you knew what it meant. Really the difference between the language we use to speak to each other and the language we use to speak to computers comes down to a matter of syntax. Computers are very literal and require information to be laid out in a specific way. Humans can overcome some mistakes, and bad configurations of sentences, and still understand what is being said. Otherwise, though, it is quite similar.

It has never been easier to learn a programming language. The ones I suggest are Python, PHP, Java, Javascript, Ruby, C++, and C#. Not necessarily in that order. There are actually hundreds of languages, and I just chose some of the most popular. It kind of depends on what you want to do. Python is my favorite all around language, and it is one of the most popular languages right now. PHP makes websites extremely easy to create and modify. Much of the web is going pure Javascript these days. C++ is what you need if you need to make compiled programs that run as fast as possible, but it has a pretty steep learning curve. Needless to say, there are tons of reasons to choose any of these, and if you really get into learning to code, you will find that your second language comes much easier than your first, and the third faster than the second, etc. For instance, I can become fairly good at a new language in less than a week, and be what I would consider an expert in it within a month.

If you want to learn a particular language, there are all sorts of training materials you can get for free. Khan Academy has tons of stuff if you are interested in more structured learning. Youtube has videos covering most any basic topic. Websites, such as w3schools.com has tutorials for many languages. There really are many free sources of information. If you get stuck on anything programming related, stackexchange.com has tons of answers, and if you can’t find an answer to your question, you can ask it to the programming community, and you usually get an answer within a couple hours.

Overall though, if you have children, try to encourage them to learn to code. It really isn’t just a skill that only the most advanced of students can learn. If your child can read and write, they can learn to code. It really is that easy, and I believe it is that important that all children should at least learn basic coding skills. Even if they go into a profession that doesn’t require coding, they will have something to fall back on if work dries up in the field they choose.