A Brief History of Software Engineering

The term software engineer dates back around fifty years, to the time when the concept of computing devices became an actuality. In the early stages of software development, the job was synonymous with that of a computer programmer, and they were more like high-level mathematicians than those who manipulated code. They understood how calculation and patterns could be used to derive algorithms, and how these patterns could be applied to simulate yes/no decisions by a machine through rapid iterations?

Software engineers didn’t become the focal point of development until the 1970’s, with the introduction of structured programming. Structured programming became more refined in the 80s, and then became the dominant norm in the 1990s with the emergence of object-oriented programming (OOP).

While software engineer was effectively a technical term for a computer programmer in the infancy of machines, today the job includes much more: interface design, development processes, beta testing, and maintenance, to name a few. This distinction is part of the reason that software engineers can demand much higher salaries in today’s market.

The Software Engineering Salary Over Time

Other than the inherent complexities of the job, a software engineer’s salary is affected by two factors:

  1. The economy of the location in which he or she resides during any given time period;
  2. The demand for software applications at the time.

Obviously, since computers didn’t become every-household items until the 1990s, the demand for software engineers was substantially lower in the years before that. For instance, the average annual software engineer salary in 1984 in the US was about $20,000 to $39,000, from entry level to the highest echelon, respectively. Considering inflation, that would calculate to approximately $46,000 to $89,000 in 2016. From these figures, one might say a software developer could live comfortably in the mid-80s, and based on the lower cost-of-living during that time they most likely could.

Conversely, the median salary for a software engineer in 2015 was a little over $95,000, with the highest ten percent making close to $150,000. The median salary has increased 15% in the past ten years, with the trend pointing steadily upward as software applications grow in demand.


Shortage in supply

Based on the consistent upward trend, it is reasonable to conclude that software engineer salaries could average above $100,000 as we approach the year 2020. Moreover in the US alone universities are expected to graduate only 30% of projected demand for developers by the same time. As more consumers become reliant on software to manage their daily lives, and more companies invest in information technology, software engineers become an increasingly valuable commodity. The only deterrent for such a boon may be the onset of more sophisticated development platforms, which will in turn require less expertise to manage and less programming knowledge to operate.

Office work vs. Freelance

More and more software developers are realizing that they hold the upper hand in the current market. With plenty of demand it is becoming increasingly common for developers to prefer to freelance and being hired on demand instead of being part of a company. On the graph, well described in this article we can clearly see that freelance developers are not doing bad either. In Europe and Asia we see that the software developer salary is getting closer to what a developer can make as a freelancers. With such incentives we may even see the downfall of the traditional outsourcing software company and the rise of platforms supplying steady deal flow to software developers working remotely.

Highest paying software engineer positions

With freelancing salaries still catching on on global level, there is one more lucrative option for software developers that has already emerged – startups. As this research pointed out back in 2015, startup CTOs are the highest paying option for a software engineer right now. And to become one you don’t even have to be all that experienced, depending on the type of startup.