The great global economic recession is over and the global economy has bounced back. However, reports on the news about people being dissatisfied with their salaries became very frequent.
There are many professions that have been gradually declining in value for various reasons. Increasing adoption of automation and new technologies is one of such reasons.
However there are some professions where salaries have historically been high and showing no sign of change in pattern. Software engineer is one of such professions.
Many people resent this and believe that it is unfair; however there are perfectly rational reasons that justify higher than average salaries in the software industry.
Three factors that determine your salary
The most popular explanation for variation in salaries between different professions is the law of supply and demand. Although accurate, this explanation is way too vague and isn’t very helpful for those who want to know how they can earn more without having to undertake a detailed market analysis.
Fortunately, there is a much more useful set of gauging tools, which consists of the following principles:
Your salary depends on the need for what you do, your ability to do it and how difficult it is to replace you.
I have heard this set of principles from a presentation by Bob Proctor, who is one of the most inspiring motivational gurus. These principles are so simple, yet they explain sufficiently well how the job market in the free market economy works.
Software is needed
Software is everywhere these days. Even your TVs and washing machines have it. This makes software developers a pretty valuable commodity.
However, this factor alone does not explain high salaries of software engineers, as there are many jobs that are high in demand where people are paid not much above legal minimum wage. So, this brings us to the second principle.
Software geeks are usually good at what they do
Most of the people who move into software engineering industry are geeky computer enthusiasts who have spent their childhood playing video games and having fun with various gadgets, so they genuinely enjoy their work. As well as this, many of them can compete with Sheldon Cooper from Big Bang Theory in terms of inflated ego, but in a good way. For them, it is absolutely essential that they get recognized for good quality of work, so they strive to be the best. Whatever their motivation is, there aren’t that many software developers that suck at what they do.
However, even this factor combined with the previous one doesn’t justify their high salaries. Occasionally, you can meet a cleaner who goes an extra mile in her job. This takes us to the final key factor.
Software developers can’t be easily replaced
The paradox is that anyone has access to all the tools needed to become a software engineer. The web is saturated with free tutorials covering every variation of software technology for people of all ability levels. And the industry has the minimal level of bureaucracy, as most often employers are interested in whether you can code, rather than seeing a piece of paper proving that you have acquired a particular software-related qualification.
I have seen many examples of successful self-taught developers, myself included. I studied biology at university, which is as far from software development as you can possibly imagine. And I have met self-taught developers who did physics, geography or even history instead of computer science.
However, getting onto the career ladder is not that simple. Even though all information about software development is at people’s fingertips, developing your skills will be next to impossible if you aren’t interested in the subject or can’t motivate your self to study in your own spare time. It also takes years to become proficient.
Given that those people who are interested in software development and who are dedicated enough to study it represent only a small portion of the general population while demand for software is over the roof, they become pretty difficult to replace. This is why in software industry if you tell your employer that you are planning to leave, you are almost guaranteed to get a counter-offer of significantly better compensation.
This is why the salaries are kept high in the first place. Software developers don’t need to join unions.
What if your salary is low despite these principles?
On rare occasions, developers do get low salaries. This is primarily because most of them are introverts, which is incorrectly interpreted by some people as lack of confidence. So a small number of employers assume that the developers will not be willing to get out of their comfort zone to ask for the pay-rise or to look for another job.
This is not always because of employer’s greed, as this situation often occurs in businesses that apply “race to the bottom” principle in bidding, i. e. trying to win projects by offering the lowest possible price. Whichever it is, it is your employer’s problem, not yours.
If you are in this situation, the good news is that it is quite easy to leave. Software companies are everywhere these days, so you don’t have to stay with an employer that doesn’t value your skills. The only significant obstacle is stress associated with leaving, but at the end it is usually worth it.
Even better news is that if you don’t like your new place, you can change again. Being valuable commodity, software developers don’t get penalized for job-hopping. This practice is very common in the industry, so the process of changing job becomes risk-free.