Learn to Code

Interest in getting more people learning to code is building. In part, it’s to help attract women into tech, as well as to encourage women to chose STEM fields of study at the university level. Other groups are helping people of color. What if programming become part of primary and middle school education? These are noble pursuits.

Before people learn to code, I’d like to see people learn to use the command line and version control. The command line provides some the same benefits, but in smaller quantities of effort and scale. Remember the first time you piped two commands together? Mind blown! The command line is a good test for programming. When people learn to use the command line confidently, they’ll want to learn to program. It’ll be their next logical step.

Should I learn to code?

In a word – Yes. I think everyone should know how to write some code. You should at least try it. However, not everyone needs to be a software developer. I think sometimes people confuse the two. They are very different things. Frankly, I worry that coding academies are over promising potential students. I’d like to see people promote learning to code because it creates and builds literacy about how computers work, helps you get things done, builds your problem solving skills, and can be quite fun.

There are also the societal aspects. Computers are continually playing a larger role in our lives. When you start thinking about their interactions in our lives, understanding how they’re developed makes a lot of sense. Teaching people to code because they can get jobs doing it, while a noble objective, isn’t the right reason. Plenty of people are well paid but miserable, and they will be if they don’t enjoy it. If you’re gonna do something for 8 or more hours a day, you should at least enjoy it. Come to think of it – why aren’t we pushing people to learn about personal finance and investing in school below the university level? Surely people would be better off being able to manage their money more effectively. Even just a solid financial literacy would improve our society. But I digress.

Many professions can be enhanced by knowing how to write some code. In fact, the ability to program will eventually be required for people to be productive.  Plenty of people should write code, because it helps them do their job – but they aren’t software developers. They might be managers, architects, marketers, teachers, scientists, entrepreneurs, mathematicians, bankers, or accountants. They might be trying to solve a problem, automating a process, or analyzing some data. All of them could be helped by learning to code. None of them are software developers. You can be one of these people.

Why not program?

Coding is unlike most things that people have experienced in their daily lives. It can be intimidating. It’s not easy. It takes a lot of time to learn, and even more to master. But it’s not impossible. It can also be quite enjoyable.

You might be thinking “I can’t code because I’m bad at math“. That’s ok. There’s plenty of software that doesn’t require advanced math. In fact, a lot of software uses far more logic than math. When there is math, it’s not that hard- especially when you remember the computer is doing all the heavy lifting. You just need to come up with a formula, and you can search the web for that.

Perhaps you worry about not having enough time.  The great thing about code is that you can start small and grow your knowledge and skill over time. As you think of new solutions you want to create, you can take time to research them. Chances are someone had a similar problem and already wrote the cole. Adapting someone else’s code to suit your purpose is a skill in itself.

What you need to write software is the ability to think creatively and abstractly, a problem-solving mindset, an eye for detail, and some tenacity. Tenacity may seem like an odd attribute to need. Consider though, that when you write code, you’re solving a problem. When a problem, or bug occurs, you’ll need to keep trying until the code is fixed. Also, the code that you write will almost never work the first time, and probably not the second or third. When you manage to create code that solves your problem, it’s very satisfying. The right project can be really fun.

I Want to Learn to Code – Now What?

You’ve decided you want to learn to code. What are your next steps? For me, the best way is to a buy a book. You can also learn from online tutorials. In my humble opinion, books do a better job of presenting programming lessons in a progressive fashion.  Obviously, you’ll need a computer.  You’ll need to think about what kind of software you want to create. If you want to create a website, it’s very different that creating an iPhone app. Also some languages  make it easier to solve certain kinds of problems. Here’s a table to help you.

The language(s) you need to learn depends upon the type of application you want to make.
Uses Language
iPhone / iPad app Objective C
Android app Java
Website HTML and CSS
Web App HTML, CSS, and Javascript
WordPress PHP, HTML, CSS, Javascript

Mac users have an advantage because they’re desktop and laptop computers comes with PHP, Ruby, Python, and Perl installed. Windows users can use these languages too, but you’ll need to download and install them.

You should also look into meeting other people who are also learning. Every major city in the US has meetups for a variety of programming languages. These meetups have at least monthly meetings – sometimes more often. When you connect with these groups, the people in them are willing to help you share resources (websites, podcasts, books) that have helped them. The CodeNewbies podcast and The Web Ahead podcast are two great podcasts for learning.

Sorry, but comments are closed. I hope you enjoyed the article