Developer skills mismatch

#devJobMarket
#softwareDevelopment
Junior devs struggle to get work, loads of people are getting laid off, yet companies struggle to find the dev talent that they need. This seems to be a worldwide phenomenon. What gives?

This is a multi-faceted problem with a massive impact across many spheres. If you think about all the code schools and bootcamps popping up all over the place - the amount of human capital sunk into junior-level dev training is huge. And, of course, organizations that cannot find enough strong talent to get the work done suffer significantly.

So what gives?

In this article, I'll dig into some causes of this problem and why I think it's likely to worsen if left unchecked.

How this affects large companies

If a well-known organization were to put out a job advert for a junior dev role, they would get swamped with applications. So, these companies must develop a few heuristics for screening applicants quickly.

Since junior developers don't have much experience by definition, these hiring companies often look at the kind of training the dev went through. They will keep an eye out for well-known universities and alternative education providers that they trust. This excludes the vast majority of applicants.

Some large companies will build relationships with specific training providers to get what they need, effectively closing the door on educated people through alternative means.

This means that self-taught devs, or devs who went through bootcamps that are not well known (or not well trusted) tend to get filtered out unless they do something to stand out.

Small and medium enterprises (SMEs)

Life is hard for smaller and less well-known organizations. If they put the word out and try to hire a junior developer, they would select from the same pool as larger organizations. The larger organizations generally get the first pick on talent - they have better street cred, better salaries, HR processes, perks, and a lot more.

The remaining talent pool is all over the place when it comes to knowledge and skill.

The people in this remaining talent pool can be categorized by their education like so:

  • Self-taught coders: they are really all over the place in terms of skill. There are some fantastic self-taught coders, and some who don't know the very basics but market themselves as experts
  • grads from traditional education providers who don't have industry respect: There are a lot of universities that are still getting to grips with teaching software development
  • grads from other alternative education systems (bootcamps). Bootcamp grads don't necessarily know more than self-taught coders. It depends very much on the bootcamp and the coder

Some bootcamps offer formal certifications, but even that is no guarantee of the quality of their output. If a person crams for an exam, then that doesn't mean that they are able to retain the knowledge and skill required to do the job. Obviously.

Assessing software development skills is a hard problem. It's hard for educators and for hiring companies.

To make things worse, some alt-ed bootcamps optimise more for getting money out of their students and hacking the job interview process than setting anyone up for long-term success. This is terrible for everyone involved.

In the end, hiring a junior developer is an expensive gamble for SMEs.

Then, once a junior has been hired, they need to be managed and mentored. They need to be invested in. This means there must be enough mid/senior technical folks around to chip in. And since there is such a huge need for mid and upwards tech talent, these folks are expensive.

Flight risks

When a junior gets a job, the hiring company will generally need to invest in them - there will be much learning on the job, mentorship, training, etc. The time and energy of more expensive employees will be sunk into growing the junior.

Once the junior has a bit of experience, then, in general, the best way for them to get a pay raise would be for them to quit and find a job at another company.

So, if a company finds a promising junior and invests in them, there is a chance that the investment will be lost. This means that companies are more reluctant to make that investment. It's yet another gamble.

Ultimately, it makes the most sense for SMEs to only work with mid-level developers and upwards. But since demand is so high, the talent can be prohibitively expensive.

And there were layoffs

Things have been pretty wild in the U.S. and there are a lot of reasons for it.

Many companies went through growth spurts during and after the COVID pandemic and needed to right-size as things settled down.

One of the upsides to these kinds of layoffs is that there are probably lots of more experienced devs looking for work. That will probably be good for a lot of SMEs.

I'm sure this right-sizing layoff spike will normalize at some point.

And more layoffs due to AI

AI is also making a few waves in a few places. This is to be expected, LLMs are starting to change how some people work.

I use AI while I code. It does speed me up quite a lot, but I still need to know what I am doing - the AI speeds me up when it comes to anything cookie-cutter, and it saves me from having to look things up. But as soon as I need to do anything novel, it makes some pretty wild suggestions.

Experienced devs are in a good place to leverage AI and speed up. Inexperienced devs can be tripped up. AI can also become a crutch for inexperienced devs and can hinder their growth.

I don't think software developers will be replaced by AI any time soon - the profession is about a lot more than writing code. But, the way things are going is that the code will be written faster by competent people, so there will be less of a need for junior talent. There will also be more footguns that juniors can use to hinder their own growth.

Trajectory

It's getting easier and easier for people to start their journeys as developers - software-related courses in universities are gaining popularity, bootcamps are springing up all over the place, and there are many opportunities for people to just teach themselves.

I expect that the oversupply of junior developers will be a thing for a long time.

I also expect that the barrier to entry for tech jobs will increase. This is because a lot of the stuff we build now is more complicated than it used to be, and because experienced devs are powered up by AI and can do with less junior assistance.

To the casual reader, it might seem that things are pretty dire for junior developers, but I still think that dev work is a career worth getting into. It will just take more up-front effort than it used to.

The article below gives a little bit of advice that junior and aspiring devs can use to get ahead:

Broad and shallow vs narrow and deep

The solution

I think that there is a solution to all this.

I work for something like a coding bootcamp. Part of what we do is focus on setting our grads up for long-term career success, and so this talent mismatch is something we confront on a daily.

That said, we seem to have cracked part of the code here. 91% of the people who have graduated from our main 9-month web dev course since 2020 have good jobs.

I'll be digging into the details of this in future articles.

Stay up to date

Subscribe to my newsletter. This will be a monthly digest of my latest articles and some other news and goodies.

Did you find this useful? Do you have something to say?

Feedback makes my heart go boom, and I would love to hear from you if you want to talk about this!

Hit me up on the socials :)