Correctly identifying the next ‘big’ programming language is a concern for all stakeholders in the tech industry. For tech workers, picking a language to study has large implications for both career trajectory and compensation. Picking up a language fading in popularity could lead to a dead end, while focusing on the next big thing could lead to high profile jobs and bigger paydays. Similarly, startups striving to be the next big thing need to be aware of these trends in order to attract the best talent, create cutting-edge products and to compete with major players like Google and Apple. In fact, these heavyweights have gone one step further by introducing their own programming languages to solidify their positions of power in the tech community. In addition to endorsing Kotlin as an alternative to Java, Google developed Go and Dart to replace C and C++. Similarly, Apple released Swift as a replacement for Objective-C.
Despite these companies’ best efforts, it remains to be seen whether these impressive new languages will ever catch on across the wider tech community. And while it’s difficult to predict which languages will take off, it’s equally difficult to know which programming languages will soon be replaced. Google believes that C-based languages are due for an overhaul, but is that true? Is Apple correct to assume that Objective-C is simply not going to cut it anymore for iOS development?
In order to help surmise the potential longevity and profitability of a given programming skill, we present a framework for the “lifecycle of a programming language.” We also look at the marginal value of a few programming languages in terms of skill premiums over time, to get a better picture of how they are progressing through their lifecycles. Finally, we explore some reasons these skills may be considered valuable and why some may be more valuable than others.
The Lifecycle of a Programming Language
A programming language ‘lifecycle’ follows four distinct phases of growth:
Stage 1: The Formative Years
- A new programming language is created to solve issues with a legacy programming language.
Stage 2: Young Adulthood
- A community develops around the new programming language and applies the programming language to a variety of real world projects.
Stage 3: Middle Age
- The programming language is incorporated in business products and programmers learn the language for their jobs. The programming language is quickly becoming an essential skill.
Stage 4: Retirement
- The programming language has become dominant and is considered universally known. New programming languages pop up to address issues with the legacy programming language.
Stage 1: The Formative Years
Frequently, software engineers run up against issues resulting from the intrinsic design of a legacy programming language. Consequently, programmers will sometimes set out to solve these legacy issues by creating a new language. These languages will typically be open-source projects shaped and nurtured by a small but passionate group of developers.
As an example, Crystal is a language with the motto, “as fast as C, as slick as Ruby.” While scripting in Crystal is not designed to be compatible with Ruby, the syntax is similar and is much more readable for newcomers. In essence, Crystal solves Ruby’s issues around speed and eases onboarding for new programmers thanks to its Ruby-esque readability.
Stage 2: Young Adulthood
Once the developers of a new language convince enough people their language actually solves the legacy issues it purports to, users leverage the new language to find solutions to real world problems. Suddenly, it’s a language suitable for productization and is worth the time and money to leverage in business. At this stage, the language develops a community of users broader than just its founding developers and interested academics. Here the new programming language is still young, with a scarcity of power users, but is mature enough to be reasonable for use in a business setting.
Contemporary examples of Stage 2 programming languages include Scala, Groovy and Go. All of these are fairly young programming languages, but they have a broader base of users becoming proficient as they have made their way into the workplace. At this stage we would expect to see boosts in salary premiums for programmers with these programming skills, commensurate to their increased demand.
Using PayScale’s Compensation Model, we see these skills currently have a positive impact on pay. Programmers with knowledge of Scala and Go see a salary premiums of 21.7 and 21.6 percent, respectively. Groovy programmers see a more modest 4.6 percent premium. These three languages represent only 0.9 percent of all respondents in 2018. That relative scarcity, which has not kept up with increasing demand for these skills, is likely the explanation for the premiums.
Stage 3: Middle Age
Python, on the other hand, is a general purpose language that enables users to accomplish a wide variety of tasks. Through different packages, such as Django and Pandas, Python can be used for anything from web app development to advanced data science.
Stage 4: Retirement
The tech world moves at a startlingly fast pace. In no time, software engineers quickly begin pushing the limits of a programming language’s architecture. For example, C# requires the entire code to be compiled for any minor change, which dramatically increases the time it takes to accomplish a task. As a result, newer languages solve for this and similar deficiencies and become more widely used over time. This cycle has persisted across the entire history of computer programming.
HTML, C#, PHP and VB.Net are a few languages that are likely in or close to being at Stage 4. Unsurprisingly, they resulted in marginal or even negative salary premiums between 2015 and 2018. Additionally, just 19.9 percent of total respondents to the PayScale Salary Survey in 2018 listed one of these languages on their profile. Between 2017 and 2018, the number of respondents with HTML as their top programming skill fell by 5.4 percent as a share of all skill observations in our sample.
Net users of other once-popular languages, such as C#, PHP and VB, fell as well – 16.3, 29.5 and 72.8 percent respectively. The drop in respondents listing these languages among their skills, along with the lack of a significant pay premium, suggests these skills are not as marketable for today’s programmers. While they may still be needed to complete common job tasks, they are not considered differentiators, and it is unlikely these languages will boost pay for future programmers.
The Value of a Programming Language Changes Over Time
To see the lifecycle in action, we can look at how the pay premium for a programming skill changes over time. Leveraging PayScale’s predictive compensation model,[efn_note]PayScale’s proprietary compensation model allows us to control for job title, location, years of experience, education and other compensable factors.[/efn_note] we calculated the skill premium, or what compensation professionals call the skill differential, for 19 programming languages between 2015 and 2018. This is the percent difference between two people’s salary who are identical in everything but having this one skill.
Generally, PayScale does not collect enough data on Stage 1 programming languages simply because there are not enough users to show up in a statistically significant fashion within our database. However, we do see the presence of Stage 2 programming languages such as Scala and Go, both of which have extremely large skill premiums associated with them. Stage 3 programming languages like Python show a continuous positive impact on skill premiums, driven by demand for Python users by almost all tech savvy firms. Finally, Stage 4 programming languages such as HTML and PHP both show a consistent negative impact on estimated wage. This may be because these programming languages have transitioned over to being more of an assumed skill, with many programmers having familiarity in those languages.
Of course, not all programming languages fall neatly into our ‘lifecycle’ framework. For example, R is statistical in nature and more research-oriented than Python, which is its direct competitor in some respects. Over the past few years the estimated skill premium for R has decreased from 4.5 percent to 2.3 percent, a decrease that could be explained in part by the proliferation of Python. However, given R’s unique nature and specific uses, it’s not likely R will transition into a broadly known language typical of other Stage 4 firms. Instead, R will likely continue to be a niche language beloved by academics, researchers and yours truly.
All Skills Have a Lifecycle and Constantly Evolve
This article focused on programming skills over time, but there is value in thinking about how other skills change over time. Even soft skills, such as project management or public speaking, are evolving to be more specialized. For example, project management can now encompass specific skills such as agile software development. Similarly, an understanding of a technical skill such as data visualization can help a public speaker become a much more effective communicator and presenter.
These soft skills may not become out of date as quickly as programming skills, but it is likely they will also evolve as people come to adjust their expectations in the modern economy. Being flexible and agile, while keeping abreast of trends, can help you stay ahead of the pack.
This report is based on responses to PayScale’s salary survey from January 1, 2015 through December 31, 2018.
In addition to being able to select skills that are populated based on their job title, respondents can report skills in an open-response box. Respondents can report more than one skill, but are not required to report skills in order to complete the survey. We have reported skills that only have 40 or more observations. Percentages are based on the number of respondents reporting one of the mentioned skills.
Skill Premium: The percent increase/decrease in pay associated with a given skill. The skill premium is measured using PayScale’s proprietary compensation model.
|Year||Number of Observations|