Why Everyone Should Learn Programming

6 min read

Today I’d like to talk about why everyone should learn programming. If you’re thinking about how to help your child or yourself develop this skill, please read this post to the end.

In an interview, Steve Jobs, Apple’s founder, said:

Everybody in this country should learn how to program a computer, because it teaches you how to think. It’s like going to law school — I don’t think anyone should be a lawyer, but I think going to law school can be useful because it teaches you how to think in a certain way. Programming is a little different from law school, but it teaches you how to think. I think computer programming should be adopted as a liberal arts subject like art or history, and that everyone should study it for at least a year.

Wikipedia defines programming as follows:

Computer programming, or simply programming or coding, is the craft of implementing one or more related abstract algorithms as a concrete computer program using a specific programming language. Programming has elements of technique, science, mathematics, engineering, and psychology.

Through programming, we automate tasks and processes that we repeat every day, build self-driving cars, and even design spacecraft that can travel to space and back. The YouTube page you’re watching right now also runs on software, and countless programs have become part of our daily lives - we can’t go even a single day without them. Easy examples include the traffic lights on the street, the television we watch every day, the smartphone always in our hands, and even the rice cooker that prepares our delicious meals - all of them run on software, and we can’t get through a single day without them.

The process or act of building such programs is called programming. So why should everyone learn programming?

Programming develops logical thinking and problem-solving skills. #

We learn arithmetic and math to develop logical thinking and problem-solving skills, and learning programming is said to have the same effect as studying arithmetic or math.

When many people hear “programming,” they imagine learning a single programming language and writing code. But learning a programming language and writing code is just a means to achieve programming’s purpose. The ultimate purpose of programming is to solve a problem, and programming itself can be seen as the act of finding a solution to that problem. It’s much like facing various problems in everyday life and trying to solve them. There’s no fixed answer to any given problem, and to find the most effective answer, you have to think logically.

For example, suppose you need to find a solution to the problem of obesity. To solve this problem, you first have to identify the issue you currently have. In other words, you have to first figure out the cause — “Why did I gain weight?” Are your eating habits irregular? Is your food intake too large compared to your exercise? Are you eating too many sweets? You have to identify these things first. Then you need to figure out methods to solve the problem — how you’ll control your meals, what kind of exercise you’ll do and how. There are countless diet methods in the world, and countless exercise methods. You have to find an effective way to lose weight quickly without harming your health or breaking your daily rhythm — and to do that, logical thinking is essential.

Building a program is very much like this example. To build a program, you first have to clearly determine the program’s purpose — that is, what problem you intend to solve through the program you’re building. Then you have to list effective methods to solve that problem in a logical order, document them, and implement those logically documented thoughts as code. If you repeat this process many times, you’ll naturally develop the ability to identify problems and the logical thinking needed to solve them effectively.

Programming develops imagination and creativity. #

In elementary school, to nurture students’ imagination and creativity, teachers have students do creative writing in language class and have them draw or sculpt in art class.

To build a program, it’s not enough to just write code. Like creative writing or drawing, you have to think and imagine endlessly to come up with your own ideas that nobody else has thought of. Building a good program requires a vivid imagination and creativity. That’s why young students sometimes create programs that astound the world, sometimes more than developers with great coding skills and lots of experience.

A well-known example: Bill Gates developed MS-DOS while attending Harvard and founded Microsoft, and Mark Zuckerberg developed Facebook while attending Harvard as well. Masayoshi Son, the famous Korean-Japanese chairman of SoftBank, is also said to have developed an electronic dictionary while in college, sold the patent to Sharp, and used the profit to found what is now SoftBank.

Programming develops the ability to create and manage documentation. #

Even building a small program requires creating and managing countless documents - proposals, plans, design specs, specifications, manuals, and more. Of course, on many projects multiple people divide up the work by area, but on small projects you often have to create and manage every document yourself.

Beyond the documents I just mentioned, source code is also one of the most important documents. Even when developing alone, writing easy-to-understand comments so that other developers can later read and modify the code easily, and managing versions properly whenever the code changes, are also part of good documentation skills. Strong documentation skills are among the most important skills companies look for in employees, and they are useful in any field of work.

Programming develops collaboration and communication skills. #

When you start a project to build a program, you usually divide the work among multiple people and collaborate. Communication skills — expressing your thoughts to other developers and listening to their opinions — play a very important role in the development process. So if you go through several development projects, your communication skills will naturally improve. Whether you work at a company or run your own business, most of your work will involve collaboration with other people, and how good your communication skills are and how harmoniously you can collaborate will have a huge impact on your career or business.

Personally, I think the most important programming skills are the third and fourth reasons I mentioned — documentation skills and communication skills.

Programming skills are no longer just for developers. #

Programming is now widely used in fields like medicine, biology, physics, and mathematics. Python in particular is loved by many non-developers across various fields for data analysis and data visualization.

Even if you’re not a developer, having programming skills lets you use them in your own field to boost your competitiveness and improve your work performance. For example, if you build a program that automatically generates the Excel reports or PowerPoint reports your coworkers spend hours making each week with the press of a single button, or a program that finishes a full day’s worth of data analysis in just five minutes, you’ll not only be recognized at your company but also become very popular with your colleagues.

There are many other reasons everyone — not just professional developers — should learn programming. Why not start programming yourself, or teach your children to program, and find more reasons of your own to learn programming?

X