This is an idea I keep coming back to in my head. It’s possible it already exists and I just haven’t seen it, or that it’s a niche that’s sufficiently well served by things like coding bootcamps, etc. (though making them serve this niche is somewhat problematic).
I’m not quite motivated enough to try it myself because it doesn’t really play well to my strengths, but I thought it might be worth putting out there to see what people think.
The starting point:
Getting more junior developers into the industry is a good thing. You’ve got the generic problem that everyone struggles to hire good developers, the diversity of tech problem, and of course it’s great to be able to help people get a good job in a well paying industry.
But we’re also really bad at hiring junior developers. We’re bad at hiring in general, but the proxies we use for hiring break down especially badly for juniors. This makes hiring for the roles either even more of a time sink than hiring normally is or a complete crapshoot.
Then once we have hired junior developers we’re also bad at that. The problem is that junior developers require a lot of support. This takes up a lot of time from your more senior developers. They may also just not be very good at it – teaching is a specialised skill, and even developers who are otherwise good communicators may not be great at it. The result is that a lot of junior developers flounder because they are not properly supported.
This may not be your experience – some companies are much much better at hiring junior developers than others are – but it’s been mine, and I believe it to be sufficiently common that there’s a problem here to be solved.
And I think there’s a business to be made in solving it, and a business of the best sort: One where you can make money off helping everyone involved in the process be better off.
Both of these problems are for the most part generic:
- Junior developers are much more interchangeable in terms of their skills than senior developers, because the primary characteristic of a junior developer is ability to learn. You might want some basic sorting by aptitude and preferences – e.g. someone like me with the visual skills of a brick you probably shouldn’t sort into front-end (note: This almost happened to me), but for the most part there’s a fair bit of flexibility here.
- Most of the questions a junior developer will have are things like “What’s a list comprehension?” and “git wtf?!”. They’ll definitely have questions specific to your company, but so will intermediate and senior developers. The real difference with juniors is the absence of the basic skills.
Both of these seem like they don’t have to be solved by an individual company.
Imagine the following setup:
Our hypothetical company, JuniorDevCo, is constantly interviewing potential junior developers at a rate that is designed to give them a constant pool of candidates (say somewhere in the 10-50 range depending on hiring rate).
Someone can then come to them and say “We are looking to hire someone for $ROLE”. JuniorDevCo will vet the company, negotiate a salary for the role, and then suggest a couple of candidates (probably just the 5 who it’s been longest since they’ve been interviewed unless there are specific requirements) for the company to meet and pick amongst in the obligatory step to give the company a sense of agency.
So far what I have described is also known as “a recruitment agency”, or at least is close enough to one that it doesn’t seem particularly interesting.
The interesting bit is that when you hire these developers they come with an associated mentor, and access to JuniorDevCo’s internal help system (I am imagining this is something morally equivalent to “A slack channel with a bunch of people employed by JuniorDevCo on there to help + some sort of knowledge base with good documents to send them in response to specific questions). They meet with the mentor regularly to discuss how things are going and to get guidance, and they can message them for help at any time.
In exchange, JuniorDevCo gets a decent monthly fee, and a bonus if after one year the junior dev is still employed at the company (at which point the company can choose to either keep paying for them to have a mentor or not as they prefer).
Would this work?
I don’t know, but I think it could.
Some specific thoughts:
- It takes a very real pain point and says “Hey, so, this is costing you a lot of money, everyone hates it, and you’re not getting good results. If you pay us less money than it is costing you then we can make the pain go away and get you better results.”
- A process of constant hiring lets you really refine the process and see what works. It also helps a lot in analysis of things like bias – is your process decently gender neutral, does it have a racial bias, etc? These are the sort of things you can do if you’re hiring at a high rate and are lost in the noise if you’re not.
- Making the numbers work out in terms of how much you charge might be tricky, but you’re saving a lot of time from senior developers, so it should be viable to get a senior developer rate per mentor, and good tooling and a good knowledge base can help keep their workload manageable.
It seems weird that setups like this don’t already exist, which is probably a sign that I don’t know the right keyword to google for and they actually do already exist. It may also be that there is a fatal flaw in the plan that I’ve not yet seen.
Edit to add: Having said that this doesn’t play well to my strengths, of course parts of it do. In particular I’m thinking that the remote mentoring part is something that I both can do quite well and could easily offer as part of my general business. If this is something you think your company would be interested in, drop me an email.