In one of my previous blog posts, I talked about the negative aspects of software development career. The goal of that article was to show that software development is not for everyone. This time, however, I will outline the positive sides of a programmer’s job.
I will only outline pragmatic and objective reasons for becoming a programmer. So I will not mention things like “the job is really exciting”. Excitement and passion are valid reasons to start a career in software development, but these reasons are subjective.
Not every passion will pay your bills or give you a secure income. And this is why it’s always better to choose a passion that you can comfortably live off. Luckily, if you are passionate about programming, then your passion can do just that. And here are ten reasons why.
1. Salaries are greater than market average
It’s not a secret that software developers are paid well. Perhaps, it’s not the highest-paid profession, but nevertheless, the salaries that programmers receive are usually significantly higher than average.
This can be explained by the most fundamental principle that operates in a free market economy, which is as follows:
Your pay is determined by the need for what you do, your ability to do it and how hard it is to replace you.
Being a programmer happens to put you in a good position in all three of these categories.
First of all, the demand for software is high. If couple of decades ago only desktop computers and servers had software running on them, then these days you are carrying mini-computers on you all the time in forms of smartphones and smart watches. Not only that, but there is also Internet of Things revolution happening right now. Even your car, your fridge and your microwave can now be connected to internet. And all of these interconnected devices need software.
Secondly, to be a programmer, you need to reach fairly high standards. Plus, to many, programming is a passion and they strive to do their job well. So, a real programmer is someone that is good at what he does.
Thirdly, to become a programmer, you will have to spend a lot of time and effort studying. Of course, you can be self-taugh (more on this later), but you will still have to put a lot of time and effort getting to a high enough standard to become a professional programmer. And this makes programmers difficult to replace.
Combined, these three factors explain why programmers earn well.
2. Regular and significant pay rises
It’s not only that software developers get good salaries to start with. Most of them also receive regular and substantial pay rises.
Annual increase of 10% is not uncommon in many parts of the world, while increases by 20% or even 40% are not unheard of.
And there is a good reason for that. Software developers don’t just study enough to get a job and then stop studying. The job of a programmer involves continuous study.
This is why, with experience, programmers usually get significantly better. Yes, a junior developer will be able to write code to solve many problems, but he won’t necessarily achieve it by writing a well-maintainable code that adheres to best practices, like SOLID principles. A more senior developer, on the other hand, will not only solve the problem at hand, but will also do it in such a way that other problems will be easy to solve in the future.
And the fact that, with experience, programming skills become significantly better, warrants regular pay rises.
3. You can be fully self-taught
In software development industry, your education certificates don’t matter. What matters is that you are able to demonstrate your capabilities. And this is why, even though you absolutely will have to study long and hard to become a software developer, you don’t necessarily have to do it within the walls of a formal educational institution.
These days, there are plenty of courses and bootcamps available online that will teach you how to become a programmer. And there are enough of them that are not any worse than the courses you can do in college.
In fact, there is even an advantage of being self-taught. In university, you will still have to study modules that you will never use in your life. And this is because university curriculum doesn’t always evolve as fast as technology does. If you are self-taught, however, you can focus all of your time and effort on studying only those things that are being used in the real world of professional programming.
You can also choose your own pace of study. You aren’t tied to the schedule of the curriculum, so, if you focus only on the most important things and dedicate a lot of time to practicing them, you can gain enough knowledge to become a junior developer a lot quicker than you would complete a computer science degree.
And many employers don’t mind. Granted, getting your first job as a self-taugh software developer may not be the easiest thing in the world. But once you have managed to overcome this obstacle, you will rarely encounter an employer that will ask to see your education certificates. You will only be asked to demonstrate that you know how to code.
I say this as a self-taught software developer who had a fairly successful career.
4. The demand for software developers is higher than ever
I’ve already mentioned that the demand for software developers is high when I talked about why software developer earn higher than average salaries. But pay that programmers receive is not the only positive by-product of high demand for the profession.
Another noteworthy benefit of software being in demand is job security. Even if you will lose your job for whatever reason, it will be relatively easy to find another one. There are plenty of companies that are looking for software developers.
5. The demand for software developers in unlikely to ever go down
Technological innovation makes many job obsolete, but the job of a software developer is not one of them. In the next couple of decades, it is quite probable that the job of a programmer will evolve and transform itself, but it will never disappear.
What programmers do today is very different from what they have been doing a couple of decades ago. Programmers used to write low-level CPU instructions, while today they use high-level human-readable programming languages that get compiled into CPU instructions.
Even though the programmers of today require a similar volume of knowledge as the programmers of the past, the modern programmers are vastly more productive. This is because using a higher level of abstraction in the form of modern programming languages has allowed them to write software much faster.
It is probable than with the assistance of AI, the programmers of the future will be using even higher level of abstraction. However, programmers will still be needed to direct the AI. And they will require a similar amount of knowledge as the programmers of today, even though the details of what they will need to know will be different.
The good news is that the process by which programmers transform their skills happens organically. Technology evolves gradually, so, as a programmer, you won’t reach a point where you will have to abandon your current skillset and re-train yourself.
So, as a software developer, you can be assured that what you do today will still be in demand in the future.
6. There are many programming niches to choose from
The job of a programmer is certainly not for everyone. However, there is a vast number of programming niches, so many people will be able to find something that suits them.
If you are a creative person, you can become a front-end specialist. This is a role where you will be writing user interfaces and all the fancy things that they consist of, such as styling and animation.
If you like working with electronics, you can become an embedded software engineer. This is where you will be writing low-level code that interacts directly with the hardware.
If you like maths, you can choose to specialize in developing machine learning models. This is a field that requires advanced knowledge of maths.
If you don’t like maths, then there are also plenty of programming niches to choose from.
The pragmatic reason why this variety of niches is a good thing is that you won’t have to do something that you don’t enjoy simply because it pays well. You will be able to find a niche that closely matches your natural interests.
7. Changing jobs frequently is widely accepted as a norm
Another great things about a career in software development is that in this career it’s more acceptable to change jobs frequently than it is in most other careers. Therefore it will be relatively easy to leave a company you dislike or move out of a specialist niche you dislike.
Of course, you will occasionally encounter recruiting managers who will ask questions if you have been changing jobs frequently. But not every recruiting manager will.
High tolerance for frequent job changes within the industry is driven by two factors: high demand, which we have already covered, and how developers normally get hired.
If you have built some experience as a programmer, then it will no longer be necessary for you to apply for jobs. Recruiters will be contacting you. And when you move job because you have been offered an objectively better position out of the blue, you will not look like someone who simply likes to jump from job to job.
8. You can work remotely
In objective terms, most of software development jobs can be done from anywhere. All you will need is a computer and internet connection.
Although there are some managers who do insist on programmers being on-site, there are many who don’t. Therefore it’s one of the career where finding a remote work is relatively easy.
And there are obvious benefits of remote work. When you don’t have to travel anywhere, you will save time and money. Or, in some cases, you can even travel to some nice place and work from there.
9. Many employers offer flexible hours
Another benefit of a software development job is that it doesn’t require you to start and finish at a particular time.
Of course, there might be some exceptions to this. Scheduled meeting do need to happen at particular times. Likewise, you might be required to fix some urgent issue. But overall, the precise start and end times don’t matter.
A typical programming job requires you to complete certain tasks by certain deadlines. And it doesn’t matter what working hours you choose in order to achieve this. It doesn’t matter if you work eight hours every day or do six hours one day and ten hours another day. What matters is that the tasks that have been assigned to you get done within reasonable timeframes.
Fortunately, many companies agree with this and do grant software developers some freedom of choosing their own hours.
10. If a prolonged lockdown ever happens, you are less likely to lose your job
This is another important benefit of being a software developer that I wouldn’t even think of if the worldwide Covid-19 lockdown didn’t happen.
During the lockdown, many businesses were forced to close and many people lost their jobs. The bulk of these people were working in professions that required them to physically be in specific places. If any of such places is closed due to the lockdown, however, then it is impossible for these people to continue working.
But software developers weren’t affected to the same extent. And this was mainly due to their ability to work from anywhere. Largely, the only significant thing that has changed for most software developers was that vast majority of them started working remotely while they were previously required to be on site at all times.
Of course, there were plenty of software-reliant companies that were forced to downsize and terminate many of their software developers. Airbnb and Uber are two noteworthy examples. But overall, the industry wasn’t greatly affected.
As demand for some software-reliant services has gone down, the demand for other IT services has gone up. For example, people across the globe started using the internet more.
Because of this, while some companies downsized, many others have gone on a hiring spree. So, the industry as the whole has remained in the state of balance. If you have lost your job, it was relatively easy to get another one.
Lockdowns like this don’t happen often. But if they do, it’s better to be prepared for them. And one of the best way to prepare for a lockdown is to get a job that you would be able to continue doing despite the lockdown. Software developer happens to be such a job.