While an entry-level computer programmer in the US is expected to earn a minimum salary of $60,000 per year, more experienced programmers sometimes break $150,000 per year. But why do computer programmers get paid so much?
A Short Analogy
Imagine if you built a bridge that allows people to drive across a river. Even though the bridge may take a lot of work to initially build, thousands of people will be able to use it every day.
A single bridge can save the city residents millions of accumulative driving hours per year, as well as reduce the cost of gas, traffic, and carbon emissions into the atmosphere. By building one bridge, you’ve helped create a monumental positive impact on many people’s lives.
Computer programmers build applications that people can use to accomplish every-day tasks. Like a bridge, a single application can be used by millions of people.
Facebook? That’s a web application. Over 1.6 billion people around the world use it. For every 1 million users, there is 1 software engineer working at Facebook to maintain the platform. Google is another web application, used by even more people around the globe.
Just about anything you’ve ever seen on an electronic screen was certainly rendered via code written by a computer programmer. The ability to create documents, listen to music, watch videos and play games- all of it has been made possible by computer programming.
The Scale & Impact of Software
Have you ever used Google, Windows, or an iPhone? If so, then your life has been impacted by computer programmers.
Whether you’ve used these devices on your job, at school, or at home– they have become recognizable household names, and pretty much everyone knows how to use them nowadays.
To get an idea of the gargantuan scale of software, take a look at these numbers…
The world’s leading online search engine.
- 3.5+ billion searches per day
- 35+ trillion total web pages crawled and indexed
- 4+ billion active users
The most popular ride-sharing app.
- Available in over 10,000 cities around the world
- 90+ million riders
- 3.5+ million drivers
The largest online retailer.
- 350+ million products available
- $386+ billion in annual sales
- 2.4+ billion website visits annually
Why Salaries are High
Being a programmer isn’t just about writing code. It’s about problem solving.
Although job salaries depend on a number of factors, a very strong factor is how much impact the role has.
For a burger-flipper working at a restaurant, there is a limit to how many people that you can serve on a daily basis. No matter how hard you try, there are physical constraints that make it impossible to serve 20 customers in 1 minute. Well, if you could do that, you’d likely break bones in the process.
But computer programmers can leverage the power of computers to serve hundreds of customers per second! No physical labor is required in the digital world.
Software is a critical part of job automation. It allows for repetitive or complex tasks to be either automated or made more efficient. The impact of automation on modern life has been so substantial that it has been met with controversy because it causes some jobs to become obsolete for humans.
Leveraging The Power of Computers
Let’s talk about exactly what a computer programmer does. As a programmer, your job is to write instructions (code) for the computer to follow. It’s like having your own personal assistant that does whatever you write down. The code is packaged as an application (app) so that the average person can use the code, too.
But in order to fully grasp what a computer programmer is capable of, you must first understand what a computer is cable of…
Computers are fast and versatile
Let’s go through each component of a computer (device) and how a programmer take advantage of it.
CPU (Central Processing Unit)
Modern computers have a blazing fast CPU. The CPU is the brains of the computer and handles all processing of data.
You might see a laptop with a 2.7GHz (gigahertz) quad-core CPU. What that means is that it can perform 2.7 billion operations per second. The “quad-core” aspect helps with processing multiple things simultaneously for smoother multitasking.
A computer programmer can leverage the speed of a modern CPU to quickly make massive calculations.
Computers also have a lot of memory. Memory allows a computer to temporarily save information for quick access later.
A modern computer will typically have from 4GB to 16GB (gigabytes) of memory. That’s 4 to 16 billion bytes, which can easily store millions of books worth of data.
Computer programmers can utilize a computer’s memory in order to process tons of data.
The last critical component of computers is storage. While memory is meant to temporarily store data, storage is meant to permanently store it.
Storage operates at speeds that are slower than memory, but the capacities are much higher. An average device will usually have from 128GB to 1TB (gigabytes and terabytes, respectively) capacity of storage. That’s billions and trillions of bytes!
Computer programmers can use storage to save lots of long-term data.
Computers are great communicators
In the early days, computers would work either offline, or connected to a private network consisting of a few other computers. This would allow sharing of data between a few computers in a room, but not much more.
Then once the World Wide Web came along, the “local network” became the “global network”, mostly built on Linux. With modern internet technology, we can easily send and receive chat messages with people across the world, instantly. But computer networking allows much more.
Computer networking allows users to:
- Stream YouTube videos
- Play multiplayer games
- Download and upload files
- Realtime video conferencing via Skype/Zoom
… And pretty much everything else that we do on the internet.
Depending on the speed of your internet connection, these activities typically involve transferring megabytes (millions of bytes) of data per second between your computer and the internet.
Almost all software nowadays is internet-connected. Computer programmers leverage the internet to make software globally accessible, smarter and more personalized.
Computers are cheap and everywhere
A modern smartphone has 100,000 times more computing power than Apollo 11 rocket that took us to the moon. Computers have gotten exponentially more powerful over the years, and even the cheapest devices are still excellent options for daily use.
There’s a concept in technology called Moore’s Law. It states that every year, technology will become twice as fast. We observed this to be true for many years in the tech industry. While the curve has recently flattened out slightly, you may have noticed that a modern $500 computer is easily 100x faster than a $500 computer from 20 years ago.
Additionally, computers have begun to change form factor. The earliest computers were big enough to fill an entire room. Then computers became consumer-friendly in the form of desktop computers that could fit on a desk. Those were usually accompanied by a large thick monitor.
Nowadays, we have smartphones, tablets, and laptops. Although we interact differently with all of these devices, it doesn’t change the fact that they’re all still computers. All of these devices have a CPU along with memory and storage. And they all pack a powerful punch in terms of computing power.
Power at Your Fingertips
To recap, computer programmers basically have the skill of manipulating computers to perform work through writing instructions. That process is called “programming” or “coding”.
Computers are incredibly fast at following instructions. When you combine the two, you end up with a lot of leverage to provide value to many people around the world. That’s why computer programmers often make high salaries.
High Demand and Job Stability
It’s no secret that as a computer programmer, you will never be out of work. Computer programmers– more commonly referred to as “developers” or “software engineers”– are among the most in-demand workers out there.
As a programmer, you can typically guarantee stable career growth and a nice paycheck for years to come. And the crazy thing is: you don’t even need a college degree. But you do need to have the skills and be someone who markets themselves well online.
Recruiters will fill your inbox with fresh job opportunities. There are boatloads of remote developer jobs that you can get, allowing you to work from anywhere. You’ll never get your job taken away by automation.
Although computer programming is one way to create software and automate things, it’s not the only way. There has been a recent wave of “no-code” platforms that allow users to create powerful software without writing code.
But I chose the path of becoming a programmer because I saw the limitless possibilities ahead if I took that path…
My Story (As a Computer Programmer)
I’ve been a Software Engineer (fancy term for “programmer”) since 2015 and I now earn a six-figure salary.
I had built many ugly PHP websites for craigslist clients and worked on a few hobby dev projects before landing my first salaried job as a programmer.
I didn’t go to school to learn to code. Actually, I went to school to learn Graphic Design because I knew that I could learn to code on my own. When I should have been studying for school, I instead worked on hobby programming projects.
Then I dropped out of college during my 3rd year after realizing it wasn’t for me– and that the tech industry mostly doesn’t care about degrees. I decided to go all-in and dedicate myself to coding.
Why Learn to Code?
I wanted to build my own apps.
I’ve always loved technology and saw the potential in it. Seeing all the amazing things that a person could do with a smartphone, I came to understand that computer programming would continue to take the world by storm. And I wanted to be a producer rather than a consumer.
The caveat is that– if I wanted to bring the idea to life– I had three options. I could 1.) pay someone else to build the app, 2.) convince someone to partner with me and build the app for free, or 3.) go ahead and learn how to code and build the app myself.
In the end, I ended up learning how to build apps myself, because I didn’t want to depend on someone else to get it done, nor did I have the kind of funds required to hire someone.
I had heard of coding bootcamps getting a lot of praise, but I preferred learning at my own pace. I realized that the basics of coding is actually easy to learn, despite what a lot of people think.
Learning to program is just like anything– you suck at first, then you get better and better over time.
My assumption was that either I’d build the Next Big Thing™ and become the next Zuckerberg, or I’d have enough experience to land a job as an app developer and make a decent salary.
So I built a photo-sharing app on my cheap Android phone and published it to the app store…
The Moment When My Programming Career Began
The app failed. No one cared about it. It got less than 10 downloads.
I didn’t become the next Zuckerberg.
Then a month later, I landed my first salaried job, making a $60k/year salary.
During the interview, I showed the company my app. They decided to hire me to help them build their own app. Although I had lacked professional job experience, he gave me a shot.
Then 2 years later, I got my next job, making $80k/year.
Now I’m in the six-figure bracket.
Throughout my career as a programmer, I’ve held various roles, including mobile app developer, frontend web developer, and backend software engineer.
I’ve had the pleasure of working with many different programming languages. At the end of the day, it’s all the same- you’re just giving the computer instructions on what to do.
I’ve worked remotely from home for my entire career and it has allowed me to live a very flexible lifestyle. I’ve been able to seamlessly move between the US and Asia while continuing to work as a software engineer from anywhere, making US dollars.
Why Computer Programming is Special
I think that computer programming is a very special skill in the modern age.
You don’t need a bachelor’s degree nor a master’s degree in computer science. Just a lot of time to put aside and learn. You can learn coding through YouTube videos and online tutorials. It’s not difficult to learn through these mediums, but you must be interested in learning technical things and not bore easily.
To be a doctor or lawyer most certainly requires formal education and credentials. To be an auto mechanic requires you to have all sorts of tools and cars that you can practice with. There are physical risks in those fields.
But programming is all digital. There’s hardly any risk in writing code.
Starting your career as a computer programmer literally only requires a laptop, an internet connection, and a strategy to get your foot in the door. These factors help to lower the barrier of entry for those who want to get started, and there’s no limit to how much impact a single programmer can make once they’ve accumulated enough experience.
Based on my experience of various programming languages, I’ve talked about the top programming languages that will make you money in 2021.
There are no shortcuts in this career path, but I hope to have helped shine a light on why computer programming is a very special and lucrative skill in the modern world and why programmers get paid well.
Get a Remote Programming Job
Once you’re ready to apply for a programming job, you can check out our remote job search tool to quickly find remote jobs from all over the web. Here’s a sneak peek of the latest remote programming jobs: