Nishank Jain

Why Learn to Code?

May 2024

Over the past 12 years, I have had multiple false starts in learning how to code. However, post Anar, I finally have all the time in the world and some motivation to learn how to code. However, whenever I tell my developer or product manager friends that I’m learning to code, I often hear:

  • “In a couple of years, AI will let us code in natural language. Why bother learning now?”
  • “Just tell us what you want; we’ll code it for you.”
  • “Coding is a skill with a limited shelf life. Why not learn something else?”

Despite these arguments, I’ve chosen to continue. In fact, I believe everyone today should learn to code—not to become an expert, but to be able to think better generally and make rapid side projects. More specifically, coding teaches you:

Deep Thinking and Problem-Solving:

Learning to code forces you to think deeply. You need to understand the problem at hand and break down its complexity into manageable parts. This skill - deep thinking and problem-solving, once internalized, is invaluable not just in programming, but across all areas of life.

Systems Thinking:

Building even slightly complex programs will involve figuring out how multiple parts work with each other. You’ll often have to plan multiple steps ahead and build accordingly.

Patience and Persistence:

A friend once told me programming is 25% writing code and 75% debugging. Debugging and solving the problem requires patience and persistence. This ability to be patient and persistent with a problem at hand is generally useful as well in other areas of life.

Mental Discipline:

The best thing about computers is that they don’t differentiate between people. If you have written code properly, it works. If not, it doesn’t. You can’t bullshit your way out of it with excuses. You ought to write it properly to make it work. This mental discipline is useful.

Permissionless Building:

Assume you are a non-technical founder. You have an idea. Oftentimes, it will remain just that - an idea, whose time will never come. Why? Because you couldn’t convince an engineer to build it for you. More importantly, you’ll never be able to build something just for the fun of it. Once you know how to build, you can make fun things, useful things whenever you wish. (Who knows you might create the next facemash (a.k.a Facebook). Further, knowing how to code yourself will help you to iterate faster as there is less external dependency in the early stages.

Tl;dr - while AI might make learning to code obsolete sometime soon, it helps you to be a better thinker which is generally useful. Additionally, it allows you to build and tinker permissionlessly