This wiki is associated with Cognito Mentoring, an advising service for learners run by Jonah Sinick and Vipul Naik. The wiki is very much in beta, so you're likely to find many broken links and incomplete pages. Please be patient with us as we continue to improve our offerings.
Please connect with us to offer feedback on the wiki content.

Programming learning benefits

From Cognito
Jump to: navigation, search
This page lists benefits of learning the subject programming. In other words, it tries to answer the question Why should I learn programming? |See all pages on the benefits of learning specific subjects

The following are some general benefits of learning programming:

  1. Jobs that require programming: Learning programming opens the route to a number of jobs that require and rely upon programming skills, particularly jobs at software companies. In addition, research jobs in many areas of the mathematical, natural, and social sciences require some programming, though they may fall in category (2).
  2. Jobs that benefit from the ability to maintain and diagnose code: Some jobs do not directly require people ot write code from scratch, but they still rely on people running existing code. The ability to understand the code can help with maintaining and improving it from time to time to tweak it better to changing needs. For instance, trading and investment companies often rely on in-house software to carry out their job. The software may be tweaked occasionally when the trading strategies are modified. Being able to do this oneself can reduce the cost and hassle of outsourcing.
  3. Better understanding of computers and their operation: Computers are used for a wide variety of purposes. Even people who do not write code need to work with computers. Having a sense for how computers "think" and how to "communicate" with them, best acquired through programming, can help in other contexts.
  4. Better general understanding of modeling behavior and practice at logical thinking

In addition to the material below, see also the "Benefits of learning programming" section of Quora questions about learning programming.

Jobs that require programming

Software engineering jobs

Leading technology companies have a number of jobs for software programmers. In addition, there are many lower-end software engineering jobs for people who work on backends for commercial systems.

Jobs that require skills sufficient to maintain and tweak existing code


  • Financial trading firms often rely on their own proprietary trading algorithms maintained using a codebase. Workers need to be fluent with the codebase and capable of making tweaks to the algorithms used. See the answers to this Quora question for more information.

Better understanding of computers and their operation

Many people who do not think of themselves as "programmers" do need to do some level of programming -- whether it's customizing the settings on their phone or computer, setting up an Excel macro to create company sales charts periodically, creating a website using an off-the-shelf solution such as WordPress, or providing complicated instructions for a tricky photocopying job. As more and more tasks get partially automated, the scope for tasks within one's personal and work life that use such rudimentary programming skills will increase. In addition, even though actual code is likely to be written by professional coders, having the ability to maintain a codebase and understand how it works to the point that small errors can be debugged might be skills that it would be useful even for non-coders to have. The programming mentality, where one thinks in terms of how the system would process instructions, is very useful.

There is considerable debate regarding the extent to which formal knowledge of full-fledged programming languages is necessary to acquire the right programming mentality for most people. If you will work in a cognitively demanding occupation, however, the level is likely to be quite high, and learning a programming language is probably desirable. This is a strong argument in favor of learning programming.

Better general undestanding of modeling behavior and practice at logical thinking

Mathematicians, engineers, and inventors may benefit from learning programming, even if they don't use it, because it forces them to think logically and model the beahvior of systems.

External links