Should you learn to program?

More people want to learn to program than ever before. There are plenty of people that encourage you to learn to program: like the model, programmer, and programming advocate Karlie Kloss. There are also many prominent figures who disparage the “everyone should learn to code” attitude.

So who is right? Is learning to program really the secret to achieving your dreams? Or are you wasting your time like the popular TechCrunch article Please Don’t Learn to Code suggests? In this article, we will explore whether or not you should embark on your own journey learning to program or give your dream up forever because you are wasting your time.

From model to programmer

Let’s start with Karlie’s story. Karlie always dreamed of being a doctor, scientist, or teacher, but her life was forever changed when she was discovered at a mall by a talent scout. Instead of pursuing STEM, Karlie ended up working as a model.

After achieving incredible success as a model (models.com called her the gold standard of modeling), she still felt the desire to learn to program, so she decided to take her first programming class. She took a Ruby class and quickly fell in love with it. Eventually, she founded her own programming school and became an advocate for young girls learning to program.

At this point, you are probably thinking, “Well, sure that is great. She is a famous supermodel. What does this have to do with me?” Well, I wanted to start with Karlie’s story because it shows there are many reasons for wanting to learn to program, and your reason is important for determining if it makes sense to pursue programming or not.

It is simplistic to assume the only possible motivation someone could have for wanting to learn to program is to become a wealthy software engineer (like many “anti-coders” do). There are many different reasons for wanting to learn to program. For some people, like Karlie, they want to do it simply because they love to learn. I find that inspiring!

So what situations does it make sense to learn to program in? And when is it a waste of time? Let’s take a look.

You love to learn

If you are like Karlie Kloss, and simply love to learn, then you should absolutely learn to program. If you are pursuing something solely for the joy of learning, there is no way you can go wrong.

The hardest part about learning to program is sticking with it. Learning to program because you love to learn gives you an advantage because you are less likely to give up.

One of the reasons I love programming is because I love learning. Working as a programmer means learning new things all of the time. From new programming languages to new domains like data science, as a programmer, you will never run out of things to study.

Plus, no matter how far along in the process you get, because you are learning for the sake of learning, there is no chance of wasting your time. You will get value from the experience no matter what.

You want a higher paying job

Maybe your reason for learning to program isn’t quite as pure as wanting to learn simply for your love of learning.

You don’t necessarily want to become a software engineer, but you’ve heard learning to program can help you get a higher paying job. Are you wasting your time? Nope! Learning to program can help you make more money, even if you don’t want to become a software engineer.

Let’s take a look at the stats. According to a report by Burning Glass Technologies, “Half of jobs in the top income quartile (>$57,000 per year) are in occupations which commonly require coding skills from job applicants.”

Chart showing that higher income jobs request programming skills more often
Percentage of job openings that value coding skills, by income level.

As you can see chart from this chart in their report, the higher-paying a job is, the more likely it is to require candidates to have programming skills. The report even goes so far as to say “The value of these skills is striking and, for students looking to increase their potential income, few other skills open the door to as many well-paying careers.”

If learning to program is one of the few skills that can open the door to a high-paying career, how could it possibly be a waste of time to learn that skill and open that door? The answer: it isn’t. The world is more competitive than it has ever been. Colleges are harder to get into, jobs are harder to get, and inequality is rising.

One of the best ways to make yourself attractive to employers is to learn to code. So if you want to learn to program as a way to open the door to a higher paying job, you absolutely should do it.

Become a software engineer

Another reason to learn to code is to become a software engineer. There is no denying working as a software engineer is a fantastic job. First of all, software engineers are well paid. They often start at salaries of one hundred thousand dollars or more.

And then there are the perks. Tech companies are famous for their perks like free lunches, massages, and naps. Who doesn’t want to spend the afternoon in a nap pod after a hard day of work? I know I could use a few more naps.

One thing you may be wondering though, is whether it is possible to get a job as a software engineer without a computer science degree? I go into more depth about this in my book, but the short answer is yes. You do not need a degree to get a job as a software engineer. Many companies, like Apple, are starting to get rid of degree requirements altogether. Other companies, like LinkedIn, are creating special programs specifically designed to hire self-taught programmers.

So if the reason you want to learn to program is to become a software engineer, don’t let anything hold you back. It is a wonderful job and is an excellent reason to learn to program.

Work from home (or while traveling)

There is another often overlooked reason why many people want to learn to program: so they can work from home. I’ve been working from home for the last three years, and I love it.

One of the best ways to avoid working in an office is to learn to program. As you can see in this IPUMS survey, programmers are one of the most likely professions to work from home.

Chart showing that programmers are more likely to work from home than other professions.

One of the best parts about working from home is the ability to work from anywhere. Soon, I will be heading to PyCon in Japan then Vietnam, and I plan on working the whole time. Working from another country doesn’t really feel like work though.

Another advantage of working from home is cutting your daily commute. I live in Los Angeles, and many of my friends commute two hours to work and two hours back. Avoiding commuting saves me time, energy, and makes me a happier person.

With all of the benefits of working from home, it is no wonder programmers prefer it over other benefits.

Pie graph showing that remote options is one of the top benefits preferred by programmers

So if your reason for wanting to learn to program is to achieve the holy grail of working from home, the data suggests you are making a wise decision. Get out there and make it happen!

Be your own boss

Some people want to learn to program so they can be their own boss. One way to achieve this is to start a company. And because software is eating the world, if you want to start a company, there is a high chance there is going to be some technology involved.

Want to create a tech startup? It is nearly impossible without learning to program first. Once you learn to program, you will quickly realize everyone has an idea for a billion-dollar app that is going to change the world. All they need you to do is build it! In other words, all they need from you is 99% of the work.

You may be thinking, can’t I just hire someone in India to code my brilliant app idea for me? Been there, done that. All I can say is good luck! Trying to manage a bunch of programmers in a foreign country when you aren’t technical is nearly impossible. If you want to start a company, learning to program will make your life much easier and exponentially raise your odds of success.

Another way to take control of your life and be your own boss is to become a freelancer. The benefit is that it isn’t as risky as starting a company. You still work for other companies, but you are doing contract work, and once the contract is over, you move on to the next client. You get to set your own schedule and work from anywhere, which means lots of freedom.

So if your goal is to be your own boss, programming is a path that makes a lot of sense for you.

When not to learn to program

So far we’ve discussed a lot of situations it makes sense to learn to program in. Are there any situations where it doesn’t make sense? Absolutely! It doesn’t make sense to learn to program if your only goal is to get rich quick. Yes, learning to program can help you make more money. But it isn’t a get rich quick scheme.

You have to put in the work. As I said earlier, the hardest part about learning to program is sticking with it. If you have a history of trying things and immediately giving up, learning to program may not be for you. If you think learning to program is a quick-fix to your financial problems, again, it probably isn’t for you.

But if you love to learn, want to improve your odds of getting a high-paying job, work as a software engineer, work from home, or start your own company, then learning to program may be the right decision for you.

At the end of the day, everyone’s situation is unique. The best way to find out if learning to program is the right decision for you may be to try it and see what happens.

But don’t give up before you get started because some article on the internet told you it was a dumb idea. Better to try for yourself and see.

Best of luck!

 

Want to learn to program professionally? I’m offering a FREE trial of my training program Five-Week Coder. You will get the opportunity to join over 1,000 other people in my private Facebook group, get weekly coaching sessions with yours truly, and watch all of my lessons and lectures. I will help take you from a beginner to getting paid for your first freelance programming project. I can’t wait to work with you!