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:
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.
Employers are facing a shortage of qualified applicants, not necessarily applicants in general. The top 5 hiring challenges include:
Here, we see
In a TekSystems survey, 40% of IT leaders and professionals said that their organizations struggled to retain top IT talent. Why is this?
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:
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.