Skip to content

Should I Learn How to Code?

Why Should You Learn How to Code?

Computers are taking over our lives. Like it or not, we’re firmly rooted in the digital age. Increasingly we’re turning to software for the solution to all our problems. That puts the creators of said software in high demand and makes software development lucrative work. Even if you have no interest in becoming a programmer professionally, knowing the basics of programming and how computers work is crucial. It enables you to make minimal viable prototypes to validate your ideas quickly and without sinking countless hours and thousands of dollars into development. It empowers you to make quick fixes to your website saving you the hassle of explaining the problem, checking in on progress, and inevitable miscommunication. It results in better understanding of the ease or difficulty of a task, better judgement of the ability of a potential hire, and more confidence in your software and yourself.

What Makes a Good Programmer?

Good programmers are logical. Great programmers are lazy. The best programmers are learners. Good programmers are logical as programming requires defining the problem in concrete terms. You can’t simply tell a computer to delete your bad photos. You must rigidly define what it means to be a bad photo. You can tell your computer to delete all photos where the cap was on (all pixels are black) or where you are blinking (more complicated code, but possible). There will be many exceptions to just those two cases. Maybe you have your eyes closed, because you’re bungee jumping or putting your head in a lion’s mouth. Good programmers have to account for all those edge-cases (extreme input cases causing unexpected results or crashes. Attempting to divide by zero is a common example and often results in a program crash).

Great programmers are lazy as laziness means thinking up the most minimal, general, and flexible code. This type of code can be re-used and requires less debugging. Not being lazy means writing code that gets more complicated with every new feature. This code becomes spaghetti code, an entangled mess that is increasingly difficult to understand and fix. Laziness means writing test code once to ensure future changes don’t break existing behavior, spending time up front to automate as much as possible, and finding quick answers or open-source solutions to a problem that would have taken days to code out manually.

The best programmers are learners. Programming is a rapidly changing field. Being the best means keeping up with the latest changes, contributing to open source projects that push the limits of the technology, and educating others in order to make their own knowledge more clear and concise. Anyone can learn the basics, but there’s a large gap between the typical programmer and very best programmers. The very best are known as 10xers, because they accomplish ten times more than anyone else. They can do this by following the principles outlined here.

How do I get started?

First, decide what type of programmer you would like to be. My personal recommendation is web developer for the designer types or app developer for everyone else. The reasons for that choice can be seen in my blog article on the types of development. After that you’re ready to go, jump into the deep end and try some free interactive tutorials.

Where do I go from there?

Once you start to understand a programming language, build a project of your own. Go off guide and try to make a simple program you think would be interesting. Don’t worry about making anything too complicated.  Once you’ve done that, take a look at my programming tips, pick out the right tools to make programming easier and more productive, and move on to my next article to take you from beginner to budding expert.

What do you think of this introduction? Did I gloss over something? Is there something you’re struggling with or want to know more about? Leave a comment. I read them all and I’ll do my best to respond.

Published inDevelopment Tips

Be First to Comment

    Leave a Reply

    Your email address will not be published. Required fields are marked *