paint-brush
2018's Software Engineering Talent Shortage— It’s quality, not just quantityby@justindesign
33,807 reads
33,807 reads

2018's Software Engineering Talent Shortage— It’s quality, not just quantity

by Justin BakerNovember 12th, 2017
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

For the past nine years, software engineers have been at the top of the <a href="http://www.experisjobs.us/Website-File-Pile/Whitepapers/Experis/engineering-whitepaper.pdf" target="_blank">hardest to fill jobs</a> in the United States. I don’t think anyone is surprised to learn that 2018 will be no different.

Coin Mentioned

Mention Thumbnail
featured image - 2018's Software Engineering Talent Shortage— It’s quality, not just quantity
Justin Baker HackerNoon profile picture

Forrester projects that firms will pay 20% above market for quality engineering talent in 2018

For the past nine years, software engineers have been at the top of the hardest to fill jobs in the United States. I don’t think anyone is surprised to learn that 2018 will be no different.

The issue, however, is not one of overall quantity — i.e those calling themselves engineers. Prospective engineers have been applying to open positions, but they are either 1.) not initially qualified, 2.) not being retained.

A new report from market research firm Forrester predicts that those employers that lag behind in attracting critical digital talent will wind up paying up to 20% above market salary rates for new hires with particularly in-demand skills — a group that includes data scientists, high-end software developers and information security analysts — in 2018.

HR Dive

The software engineering shortage is not a lack of individuals calling themselves “engineers”, the shortage is one of quality — a lack of well-studied, experienced engineers with a formal and deep understanding of software engineering.

Here’s a map showing the regional inflation that reflects the demand for talented software engineers:

Robert Half

What is a software engineer?

If you know a programming language, then are you an engineer? No. Knowing a language does not make you an engineer. The same as knowing how to speak elementary Spanish does not automatically make you a good Spanish teacher.

Though it is a broad title, a software engineer is a problem solver. You are being paid to solve problems through the systemic application of computer science.

You must deeply understand the logical syntax needed to translate your ideas into something a machine can understand. Not only must you implement others’ ideas, but you should be the originator of new ideas.

These ideas, moreover, don’t just need to work in your local dev environment — they need to be performant at scale.

In-demand software engineers are problem solvers, not coders.

Hiring & Education Challenges

Employers are facing a shortage of qualified applicants, not necessarily applicants in general. The top 5 hiring challenges include:

  1. Lack of experience
  2. Lack of hard job skills/technical skills
  3. Salary demands too high
  4. Lack of soft skills/workplace competencies
  5. Lack of formal engineering education

Experis Engineering Report

Here, we see

ACM.org

Retention Challenges

In a TekSystems survey, 40% of IT leaders and professionals said that their organizations struggled to retain top IT talent. Why is this?

  1. They are hiring for roles, not careers
  2. Treating software engineering as a task-based job
  3. Not making retention an explicit priority
  4. Stagnation in projects
  5. Lack of growth opportunities
  6. Lack of similarly minded talent

Mitigating the Quality Shortage

Forcing every prospective engineer to attend 4 years of formal computer science education isn’t a realistic answer — and ultimately it doesn’t even solve the problem. Formal comp sci education is a foundation, but the application of comp sci to problem solving is a skill that is learned by experience and mentorship.

Modern tech stacks are very complex. There is a wide array of different frameworks, reactive experience, AI, machine learning, integration testing, etc. These are typically not taught in formal education unless you find a unicorn program that teaches you to specialize in a particular niche.

Ganesan of Kyyba, an international engineering and IT recruitment firm, told GoodCall, “For example, many small- and medium-sized companies do not provide on-the-job training and, instead, want employees to hit the ground running, but unfortunately, the skill sets that allow them to do their job in such a manner are not being taught at school. This is a problem around the globe, not just in the U.S.”

Companies that demand software engineers who can ‘hit the ground running’ are accelerating the talent shortage and soaring salaries.

Ultimately, these companies can do a few things to strengthen their engineering talent pool:

  1. Recruit emerging talent that can be mentored and cultivated, formally providing mentoring programs either internally or externally
  2. Provide education incentives to new talent who require additional formal training

That said, there is a broader issue at play. Less students are pursuing computer science degrees in the U.S., even though job demand is growing:

Finally, the U.S. is just graduating less STEM majors as a percentage of population. For instance, China has roughly 4 times the population of the U.S., but about 9 times the number of STEM graduates.

Of course, the overall quantity of STEM graduates does impact the talent shortage, but that doesn’t tell the full story. The full story is one of employer expectations, lack of mentoring programs, increasingly complex stacks, disconnected formal education, and overall lack of problem solving experience.