Opinion: Programming is good for you

Learning how to write your own programs, creating your very own software, can be of benefit for everyone. While not every person needs to pick up programming skills in order to make a hobby or profession out of it, it is generally helpful to at least know the basics.

Analyzing problems

Consider an analogy: if you want to learn how to drive a car, you can do this by simply learning how to operate it and learning the traffic rules. There is no need to learn how your car actually operates, unless you want to be able to fix it yourself if there are any problems.

However when some problem arises with your car, additional knowledge about the construction and inner workings of your car enables you to locate possible sources of the problem. You might even be able to solve it yourself.

It’s similar for computers and programming. You can learn how to use a computer for different purposes without knowledge about programming.

If you know how to write programs and get the computer to do something for you, you will have a much better understanding for the system. Problems arising from software you use or from newly added hardware can be more easily understood.

Once you have learned to track down errors in your own programs, expanding this knowledge to analyze errors in programs written by other people isn’t difficult.

Additionally, if you train this, your analytic skills will usually grow over time. These skills can be applied to all kinds of day-to-day problems, giving you more options all around.

Brain training

Looking at programming from another point of view, programming is also a good brain training exercise.

Analyzing a problem and developing a software solution for it is just as good an exercise as analyzing logical puzzles or three-dimensional patterns. In contrast to the training exercises provided by brain training software, there is no limit to the amount of problems you get to solve or to their complexity. This is a nice side effect when you are creating software which is useful for you.

Turning a self-developed concept for a solution to a problem into a working program also trains several mental abilities.

Most programs are put together from parts representing different layers or steps of your solution. Getting all the parts to work together in order to produce the results you are aiming at can only be done by keeping track of the overall solution as well as all the little details the solution requires.

By learning how to program and slowly but steadily getting more and more experience in this field, you will be able to do this over time. It is easy to see how beneficial this can be even in completely different areas of life.

Developing solutions

Once you have learned how to develop your own programs, you can use your skills to find solutions to problems you are facing.

The basic analysis process which is used to develop a software solution for a given problem can also be used to develop an engineering solution or any other kind of solution. The process helps to break up any problem into smaller problems. Sooner or later the problems are small enough to be solvable.

Once any partial problem can be solved the only thing left to figure out is how to combine these solutions back into a complete solution for the original, bigger problem.

It really doesn’t matter whether the problem you want to solve this way has anything to do with computers or technical systems. You can use the same problem solving approach to develop a step-by-step plan (really an algorithm) which solves a general problem in your local community, your house or whatever.

The skills which can be developed while learning computer programming can be applied to several different areas of life.

Last not least, developing and using your own solutions is very satisfying on a personal level. Even if your solution cannot be physically touched if it is made up of a software program, it can be used to solve real-life problems.

The sense of accomplishment you get from this is no different than when you successfully build something with your hands.