For juniors to be cost effective/neutral, you can only really have 1-2 per mid/senior engineer. Most companies don't have that many mid/senior engineers to begin with, much less ones that are willing to take on a junior to mentor for a year or two.
It takes a better part of a decade to transition a junior into an independent, mentoring capable senior. The current software boom only started in 2009ish. That means there's only a few cohorts of seniors created in this cycle, and I would guess not very many of them given the job market in 09. Give it time, years of experience don't just happen overnight.
I think you're off by the reciprocal of the ratio. It should be something like two experienced devs per junior dev. Any more junior devs than that and your senior devs are spending too much of their time mentoring and not enough time getting their tasks done, which is going to frustrate them. Fortunately, with a good junior dev, it doesn't take long at all to reach mid-level dev. I've seen it happen in under a year for smart new grads.
It takes about a year for a junior+senior combo to be more productive than a senior alone. And another year before they're not a noticeable cost on the senior. 2x senior to a junior definitely brings the junior up to speed faster, but I think it's less efficient use of the seniors cause it also introduces a synchronization cost between the seniors.
I like to stagger the juniors so they're not at the same level; the +1 junior can take some part of the workload of mentoring the fresh junior. Plus it starts them on practicing mentoring early in their career. The fresh junior still has two mentors, and there's a clear pecking order.
It's funny how many business cards I picked up from recruiters during career fairs, only to have none of them return my calls or emails.
The recruiters aren’t there to let you know they’ve got jobs. They’re there to talk in person to young people, and figure out which ones have passion for the company/project/etc., and put the passionate people’s resumes at the top of the queue.
If you just pick up a business card, it’s indistinguishable from being a cold call/spray and pray resume sender; companies and recruiters get so many of these there’s a good chance no human ever even looked at your resume.
So, I don't think it's a common misunderstanding. I think it's common sense that you're supposed to speak to the recruiters and build your network.
Finding a job was much more difficult than I thought it would be. Part of that is because I was looking in a very specific geographic area so I could live with my girlfriend (now wife) , part of it was a low GPA, but most of it was because I didn't have any experience outside of college classes.
Eventually I lucked out and found a job with a company that was looking to train someone because they develop software for IBM mainframes and weren't having any luck finding people in that field in the area.
That seems like you're looking for someone who lives and breathes programming. Do you have something against developers who work 40 hours a week and instead of programming as a hobby as well, they do other, non-tech, things for their hobby?
I didn't do a single internship either when I was doing my undergraduate either. I wouldn't recommend doing that to young people in a million years now.
I've seen some efforts at work along these lines, but nothing within even probably two orders of magnitude of the established internship program.
Curious if anyone is aware of companies offering entry level contract positions that aren't conditional on active enrollment in an academic program?
I love hiring and mentoring junior developers, but the barrier to entry is quite high. Employers love junior developers with aptitude and enthusiasm.