Back To Compensation Today

Different Skills Command Premium Pay. But How Much and When?

Topics: Comp Strategy

Recruiting and keeping top tech talent is a challenge for companies across all industries. By nature, top performers are early adopters. They keep their skills sharp by staying abreast of the latest technologies, including the unceasing evolution of programming languages. If compensation is not adjusted accordingly, companies will lose top talent. Understanding how a skill ebbs and flows in the job market has large implications for attracting the best talent, creating cutting-edge products and competing with major players in your industry. 

We wanted to leverage our new Differentials Engine to help HR leaders attack the problem of valuing skills. Skills across all jobs are important, but since all industries increasingly require tech jobs, we decided to take a deep dive into analyzing programming languages. We found programming languages to be a great set of skills to study because they quickly change, and talented engineers routinely bump up against the constraints of a programming languages’ inherent architecture. Languages like Go and Scala are now becoming essential in order for companies to stay competitive, while previously niche languages like Python and R are now much more commonplace.

In this article, we present a framework for the “lifecycle of a programming language.” We studied the marginal value of a few programming languages in terms of skill premiums over time, using our new skill differential engine. This allows us to get a better picture of how this programming languages are progressing through their lifecycles. Lastly, 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

Eventually, a programming language may be so widely adopted it becomes an essential skill for a group of jobs. To reach this stage, it must be used in various ways by a significant number of real world projects. Once the language has proven its usefulness and becomes valuable in the marketplace, programmers start to learn these language not because they want to build something new, but as a requirement to advance their careers or to earn higher pay. In this stage you also start to see the absolute number of users of the language increase dramatically over a relatively short period of time. Two languages currently in Stage 3 are JavaScript and Python.

JavaScript is an advanced language that generally works alongside HTML and allows Web pages to be significantly more dynamic. Incorporating JavaScript into a webpage allows new forms of user interactivity that was not previously available in HTML. As a result, JavaScript now forms the backbone for most modern Web pages.

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.

Because these languages add critical utility for users across a variety of projects, they have become widely adopted and are essential skills for many programming roles. Accordingly, we have seen significant growth in the number of respondents to the PayScale Salary Survey listing these skills since 2015. JavaScript users have seen 3.1 percent growth while Python users have seen a 5.9 percent growth over the same period relative to other programming languages.

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, PayScale’s proprietary compensation model allows us to control for job title, location, years of experience, education and other compensable factors. 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 focuses 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.

Methodology

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
2015 109,000
2016 120,000
2017 108,000
2018 89,400

 

Learn More About Our Compensation Software


 

Sudarshan Sampath
Read more from Sudarshan

Leave a Reply

avatar
  Subscribe  
Notify of
Start the Transformation

We can help you bring modern compensation to life in your organization.