#34. What's up with the job market for bootcamp grads in the UK?
An in-depth essay and video analysing the situation, plus my review of Killing Eve, Leah Kate, and a bit of probability...
Hello!
Last night I recorded a video sharing my views on the UK job market for bootcamp grads in early 2024. I'm going to share it here, and then summarise the key points. I'll also be sending this out to Tech Job #1 applicants with some more personalised thoughts.
At the end there'll be a little bit of casual chat too, so if you don't care about the job market but you do care about me then you can skip to the end for that.
Here we go.
Video version
This is just over an hour long. I kind of blabbed at the end so I’d suggest if you want to watch it then skip the last “infohazard” section and instead just read “How to think about giving up” below.
Alternatively, read on for the text version!
Summary
I'm going to tell you:
A bit about me so you can judge whether to believe me.
What kind of job market we're in
Who is getting hired, who isn't, and why
How to succeed in this market
How to get data on the market
How to think about giving up
Should you believe what I say?
Reasons to believe me:
I led technical education at a major UK bootcamp for six years. In that time I focused a lot on job outcomes, both tracking the numbers and actually personally helping candidates, in particular through the pandemic.
I've also been a manager, both recruiting and laying people off, and I've worked with a lot of other people who do this too — both as clients and colleagues.
I'm going to try to tell a story that you can plug your own beliefs into, so it should still be useful even if your exact beliefs are different.
Reasons to doubt me:
In my bootcamp job, while I was honest with people and I tried to steer us in a responsible direction, it's reasonable to say I'm partly responsible for the current situation.
I'm probably a bit biased towards my previous employer and bootcamps in general — though I don't think it affects my judgement very much here, you should be aware.
In the next year I'm probably going to start an education business. I'm going to tell you that getting better at your chosen discipline is a good idea, and that's probably convenient for me since I may later try to sell something that does that. I don't think this is an issue — my reason for this research is trying to find out what will help people, but you should know this going in.
(Oh, and if it's significantly after April 2024 when you're reading this, probably take all of this with a pinch of salt.)
Most importantly, you should know that I'm a bit pessimistic by nature. I tend to see things a bit worse than they are — believe bad news more than I do good news. So as you listen to what I say, keep this thought in mind: "would this still be useful if I 100% knew the job market was going to improve in the next six months?"
I've tried to write this so that it is still useful even if you're more optimistic than I am, but you be the judge.
What kind of job market is this?
To follow what I'm about to say, you'll need to believe two things:
We are in a job-constrained market.
This just means there are significantly fewer jobs than candidates right now. I don't think this is very controversial if you are a candidate, so I won't try to argue it very hard.Employers usually hire the best candidates.
You don't need to believe they always hire the best candidate on the market, just that employers tend to hire the best people they can find for their own definition of 'best'. We know they usually try to do this, otherwise why interview people? My contention is that they usually succeed.
So, if those two things sound right to you, read on! Otherwise — you can still read on — but you'll probably find yourself disagreeing with major parts of this.
Now let's look at the two kinds of job markets you can be in.
Candidate-constrained market
Substack is having trouble with alt texts, apologies. Note the images are recapped below.
In a candidate-constrained market there are more jobs than there are qualified people. Employers have to compete for candidates and the best employers get the candidates.
Employers are looking for people and talk about how great things are to work for them. Jobhunters get jobs and feel great. Recruiters cash in by finding the best people and charging companies to hire them. And bootcamps notice the lack of great candidates and try to train new talent into the field — charging candidates and employers for this.
These markets tend to feel good as a candidate — and so tend to feel good generally, because every human is a candidate in some way. However, they're not so much fun if you're trying to grow a business — it's hard to find the people you need in order to deliver the services you've perhaps already committed to delivering. But, realistically, even that isn't so bad.
Job-constrained Market
In a job-constrained market there are more candidates than there are jobs. Critically (do take note of this because it will come up later) candidates compete for employers. The best candidates get the jobs.
Employers tend to be a bit sterner. They are trying to reduce costs, every person they have in their organisation has to make a difference, and if they can cut staff they will. Jobhunters are having a terrible time, not finding very much to apply for and often not hearing back from employers. In particular at final stage people may get hard-to-understand feedback which is ultimately not about them, just that there was another candidate who was better (competition). Recruiters tend to be philosophical, believing that good times will return, paying less commission reduces their costs and they try to focus where people are hiring (which, universally, they are).
Bootcamps are in a tougher position — they can only sell training and so they need to find some way of selling training even without jobs. You see them act strangely — releasing new versions of their courses without careers support for example. If they aren't very ethical, they will go strong on marketing that claims strong career prospects (95% hired within 6m etc), knowing that candidates may not be able to test this until much later.
This is the market I believe we are in.
Who gets hired in a job-constrained market?
In the video I demonstrate a simulation based on the beliefs above. I'll not try to recreate that here fully, but I will give a brief overview.
Imagine that you have just graduated a bootcamp. It graduates ten people every month. You can multiply this up to your bootcamp's cohort size if you like.
I've given each candidate a number which corresponds to their 'strength' or 'hireability'. It's a simplification, but you may be able to see it reflected in the life you live — to me, it seems clear that some people leave bootcamps very very hireable and some leave it in a worse position. You can imagine that nearly everyone is in the 80s with the odd ~60 if you like — it doesn't affect the outcome.
I've put a little marker next to someone who I think would typically be feeling pretty good — at 71 strength they're not 'top of the class' but they are definitely good and could do a good job if they got hired.
One month passes.
Now this bootcamp has pretty good hiring outcomes — two people get hired every month. If you're in a bootcamp where ~30 people graduate a month that's about six people. I think if I saw six people getting hired every month I'd be feeling pretty good about it! The key thing is that we're still in a job-constrained market, so that number isn't going to change much.
The employers have figured out who are the best candidates and hired them. A new cohort graduates.
Another month passes.
The two strongest candidates again have been found and hired. Another cohort graduates and things are feeling a bit less nice for our protagonist.
You get the idea. In a job-constrained market where new candidates arrive on a regular basis, the result is that the top x% get hired and anyone below that doesn't make any progress (until the market changes). To put it another way, if recruitment was perfect, every candidate better than you who has graduated in the three months around you is going to have to get hired before you do. Not good!
Simulation of a job-constrained market
I wrote a simulation over a longer time period, and here are the results.
This is over 120 months, with 25 graduates per month, 5 hires per month, and a 10% chance of any candidate giving up per month.
As you can see, in this market the top candidates have a strong chance of getting hired, and anyone below that has a very low chance of getting hired. In this simulation you need to be in the top 20% to have an over 50% chance. If the number of hires per month was smaller, you'd need to be in an even smaller top bracket.
This is the market I think we're in.
Simulation of a candidate-constrained market
By way of comparison, here's a simulation where there are more jobs than candidates (essentially — the more candidates there are the more hiring happens).
The assumptions are the same, except in this simulation, every candidate has a 50% chance of getting an interview per month, and if they do they then have (strength - 20)% chance of getting hired (so, 100 strength has an 80% chance, 60 has a 40%, and 20 has 0%).
This reflects how we as candidates tend to think about recruitment. The better you are the more likely you are to get a job. Really strong candidates will get hired quickly and less strong candidates will take longer, but everyone above a certain level has a good chance.
This is how I believe the market was in ~2018 when bootcamps were booming.
Simulation of a job-constrained market where people get better
Finally, I'll show you another simulation. This is just like the first one but every candidate gets +5pts stronger every month.
This doesn't simplistically create more jobs, but it does even out the chances. What this means roughly is that if you as a bootcamp grad can keep getting better to the point where you're even better than the strongest bootcamp grads, you've got a much better chance.
I think this matches our intuitions about how employers will behave. If you can become clearly better than fresh bootcamp grads, you will be more likely to be hired.
Can I play with the simulation?
If you think the assumptions behind my simulations are wrong (for example, maybe you'd like to add some noise to the recruitment process) then you can take a look at the script. It's not beautiful but you should be able to fiddle with it to generate results that match what you think.
From playing with the settings a bit, I believe that the core assumption here is — is the market constrained on the number of jobs? If it is, it doesn't matter too much how much noise, people, or hiring you add. But you can be the judge of that :)
How to succeed in this market
I don't know this for sure. I don't have any big success stories to tell you about. But here are the opportunities I can see.
Firstly, I think there's a mindset shift: from a candidate-constrained mindset to a job-constrained mindset.
A candidate-constrained mindset is something like this: It'll be okay. I just need to do what everyone else is doing, keep up with my group, trust the process and it'll work out for me too.
A job-constrained mindset is something like this: I have to fight for this. I need to stand out as better than any other candidate. This will only happen if I make it happen.
That's a big shift for many people. You're competing for jobs now, you have to be better than other people and you have to make sure employers know this.
Here are three ways I can see of enacting this.
Strategy 1: Be the best
Be the top 5%.
If you want to be a React dev, you're going to keep studying until you are the best on the market. You have your own projects that do complex tasks to a high standard.
Examples:
A React dev who knows everything about the library, can build in a component-based way, and make things look perfectly like the designs.
A Java developer who knows the SOLID principles back to front, has built cloud-deployed projects using microservices, and knows a good deal about data engineering.
Strategy 2: Get weird
Be one in a billion.
Do you have an unusual professional background? Do you like learning weird stuff no one else knows? Are you willing to relocate to the middle of nowhere to work on nuclear weapons?1
Figure out your weird niche/s, learn everything about them. Find the people who want that person and get into their circles. Networking is a good path here.
Examples:
An embedded software developer with a degree in mechanical engineering.
A backend engineer who has a background in financial analysis.
You absolutely love startups, know everything about them, have tried a few of your own and now you want to be a developer in one.
Strategy 3: Bide your time
Play the long game.
Find a way to earn a living, either related to your target field or outside it wherever you can.
Aim for a tech job in the next five years. Keep developing your skills bit by bit. Watch out for opportunities that other people may not have the patience to wait for. Perhaps there's a way you can gain experience or resources now that will really help you transition into tech by becoming one in a billion.
Examples:
You get a tech support job and progress into management there. Your tech skills help you talk to the engineering team to get better results. You transition into engineering three years later.
You focus on making money and saving. You use this to get training and certifications in your target field. You take on freelance dev work on the side to get experience, and leverage this to get a mid-level job two years later.
How to get your own data
You're probably surrounded by people who have their own agenda, me included. While job data is very unreliable, I think it's important for everyone to have their own sources so they can properly interpret what they're hearing. I'll give you a few tips.
This is ITJobsWatch.
It's a website that tracks IT job postings in the UK. A few tips on how to read it:
These are soft numbers. Job postings aren't all the jobs that are out there, and go up and down for many reasons (notably at the moment there's one recruiter who posts remote jobs separately in every UK city to get more candidates which inflates the numbers).
Ignore the nice friendly green and red arrows. This row 'Rank change year-on-year' just reflects how relatively popular the job title 'Junior Developer' is compared to all other job titles in the UK. Who cares, right?
Pay attention to the line 'Permanent jobs requiring a junior developer', and in particular comparing it to the same period last year and the year before.
You can toggle between a six month period and a three month period using the 'Period' selector at the top.
What we can see here is that in this period 2022 there were 472 jobs posted. In 2023 this dropped by about half to 2018, and then this year it's about the same at 222.
To put this into context, let's take a look at 2020 on Internet Archive.
Now note this is the six month period, so for a proper comparison we want to half these numbers:2 235 in 2020, 917 in 2019, and 1,111 in 2018 (which was the peak for a long while).
The story this tells is of a significant drop over the past six years, and not purely related to the pandemic. The glory days of the coding bootcamp, being ~2018 or so when jobs were easy to come by had 5x more jobs than we do now, and the number of candidates being trained has probably increased a lot in that time.
This is not a good story for candidates!
If you want to track short term market movements to assess the truth of people who say "things are picking up!!" then here's how I do it. Take the number of jobs in the past 3 months (222) and double it (444). Then compare that to the number of jobs in the past 6 months (322). 444 > 322, so the number of jobs accelerated in the past three months compared to the three before that. The bigger the difference, the bigger the acceleration.
So it looks like there are more junior dev roles being posted recently — which is great!
But the reason I showed you the long-term trend is that I believe you shouldn't expect the market to stay job-constrained for a long while. To go back to the 2018 days, we'd need a 5x improvement and that's vanishingly unlikely in the short term.
Recall that the impact of the number of jobs in a job-constrained market is that it changes the top % of people who get hired. So instead of the 5% best candidates it might be the 10% best. It still makes sense to try to be the best.
Infohazard Warning: How to think about giving up
So far I've been talking to the part of you who is committed to making this work. In this part I'm going to talk to the other part of you, which might be discouraging. Please skip it if you want.
A few years ago, in my previous job, someone reached out to me who had studied in my bootcamp. He wanted to tell me about his experience, which hadn't been the best.
We had a call and he told me about how when he studied with us, everyone was very encouraging even though he found things difficult. They said things like — you got onto this course for a reason. You're going to make it, just keep trying. But he never did, and in retrospect he believes he simply wasn't right for this kind of work. But he found the process of realising this very had. He felt like he had failed, not just as a coder but as a person, that he wasn't what other people thought he was, that he simply couldn't try as hard as he needed to.
Later he realised this wasn't true. He was still a great person who could have what he wanted in life, he just wasn't a good fit for coding. And he moved on with his life.
He wanted to tell me this because he didn't want anyone else to go through that. It wasn't fair, he thought, that everyone was so blinkered to reality and got him thinking it was just that he wasn't trying hard enough.
I believe 'Growth mindset' can be dangerous sometimes. It puts immense pressure on the individual who sometimes may just not be able or willing to take on the burden of that growth. I keep this meme saved on my phone to remind me of this.
No one can be great at everything. The brutal truth in a job-constrained market is that not everyone is going to get a job. That might be you. If I were you, I would be asking myself the question — do I really want this enough to invest the amount of time, energy, and heart this will take? And know that it still might not happen?
If you figure out that yes, really, you want this and you're going to get it — you'll be better tuned in to the energy required to see it through. Know you're going to have to fight for it. Or if you don't like the idea of fighting for jobs, you can create them — start your own tech business. It's a decent way to get real work experience and you might end up employing some people too. Plus you don't have to do any more fucking interviews :) If you pursue this, please get in touch with me — I will do my best to help any entrepreneur.
If, on the other hand, you're not sure you want to pursue it anymore — ask yourself why you made this change in the first place. You might not get a coding job, but "coding job" isn't one of a person's basic needs. Whatever it was your soul was calling for, you'll be able to find it another way to get it — figuring that out may involve facing up to some hard truths, but you can absolutely figure it out. And chances are, for many people, it'll be easier to get than a coding job right now.
In the words of a great poet of our time — Da Share Zone:
Just walk out. You can leave. If it sucks... hit da bricks. Real winners quit.
Phew — I'd been working on that for months! It's truly horrible out there right now and every time I start working on this problem I feel just miserable. Still, got there in the end! Next task — who knows? Help people get better? Help people do startups? Unsure!
A few other bits going on for me at the moment:
I finished Killing Eve! I must say I found it very unrealistic — how could anyone reject Villanelle so much?? I don't understand. Even on a pure utilitarian basis — think how many lives could have been saved if Eve had just locked that one down! I could not have resisted that energy no matter how mustachio'd my husband was.
In further absence news, I recently discovered apparent Gen Z sensation Leah Kate’s 10 Things I Hate About You — pop punk is coming back and it's so good!!! "And I'll admit it, sometimes I miss when we were in it — so I made a list, so I never forget, all the things I hate about you." — and then the chorus is her listing them out!! Killer!!!!
Plus her album covers are just incredible. Look at this!! It's like it fell out a dream.
I'm learning probability through Chris Piech's Intro to Probability for Computer Scientists lectures at Stanford. The subject is fascinating (and useful), picking up the bits and pieces of my maths education is satisfying, and Piech is a really interesting educator. I finally know what on earth Σ means, and I have now actually used Bayes' theorem a bunch of times! (And it lives up to the hype).
If you end up studying along, here are a few fun teaching-effects questions I've been pondering.
What are the teaching effects of Piech's telling personal stories from his life on Friday classes?
What are the teaching effects of him spending ~30% of each lecture recapping the last lecture?
What are the teaching effects of this technique: Piech will sometimes begin a class by introducing a seemingly irrelevant equation or idea, tell you that it might come in useful today, and then 20-30 minutes later it turns out to be the one thing we need?
What are the teaching effects of my ability to speed up/slow down the lectures on Youtube?
That's all for today. Have a good week!
Probably don't build nuclear weapons — but you get the idea.
I forgot this halving in the video.
This is an excellent post.
You're a very clear thinker.
Great analysis! When you put the difference between job-constrained and candidate-constrained markets as a graph, it really hits home how different those situations are for junior software developers