If you only hire senior developers then you don't know what software developers do.
Quora has a thread about junior developers outperforming senior developers. Hundreds of developers say that they've seen this.
In an interview for a front-end developer position I was asked to figure the big O of a binary tree in C. I politely suggested that the hiring manager could instead ask me about Angular and Bootstrap. I didn’t get that job.
In another interview I was asked to solve a chess problem with recursive programming. I said that JavaScript is a language for making resources (databases, APIs, frameworks, libraries) talk to each other and I don’t even need loops and conditionals for that, much less recursive programming. I didn’t get that job.
Another company had a job posting for a senior developer with five years experience. Our placement advisor at Galvanize encouraged me to apply for the job. I pointed out the requirements. He said that he’d spoken to the hiring manager, who’d said that coding bootcamp graduates with no experience qualified as senior developers with five years experience.
Chris McAvoy, VP of Engineering at Quick Left, told me that he likes a team to have one senior developer, two mids, and eight junior developers. Looking at the job boards it looks like most companies have ten senior developers for every mid developer, and ten mid developers for every junior developer.
A hiring manager who doesn't know what developers do looks for someone with years of experience in specific technologies. In a field where technology changes rapidly, each company is using a different combination of tools, and anyone who knows three computer languages can quickly learn a fourth, looking only at previous job titles makes no sense.
A young woman in my class at Galvanize studied all the time, pair programmed with the top students, and became one of the top students. Her only previous job was a waitress. A mid-sized Denver company low-balled her with $44,000 offer. A friend at the company told me that the hiring manager had said that they weren’t paying more for a waitress.
Don’t look at a junior developer’s previous job. Instead look at:
- If a junior developer's project is well-crafted and related to what your company does, hire.
- Call the coding bootcamp instructors and ask who the top students are. Hire the fast learners.
- Social skills are as important as technical skills to be a productive software developer. See my blog post Quantifying Social Skills For Software Development Is Easy.
Create an internship program that bridges the “junior developer gap.” I talked to a hiring manager who’d hired 204 tech positions in the past year. His company’s internship program had 14 places. He couldn’t expand his internship program because of the expense, both in paying the interns and in senior developers’ time helping the interns. Can we solve these two problems?
Reducing senior developers’ time is easy. Develop a written curriculum to teach what your developers do. There are many resources available, your developers won't have to write much. You can then share your written curriculum with coding bootcamps so that they prepare students to work at your company.
Then make a co-working space where interns can study your curriculum together. Have “office hours” when your developers help the interns, within set time limits.
IMHO, coding bootcamp graduates should be willing to take unpaid internships. Chris McAvoy disagrees: “Good shops won't not pay interns.” From my perspective, I study a library or framework for a week or two to prepare for an interview, which isn’t enough time to learn it properly, then I don’t get the job, and I study something else to prepare for an interview at another company. I now have a dozen technologies that I’ve half-learned and mostly forgotten. I’d rather study one thing for a few months with some certainty that I’ll get a job. Of my Galvanize class, median time to hire was two months. It doesn’t seem unreasonable for a coding bootcamp graduate to do a two-month unpaid internship at a company he or she wants to work for.
Thomas David Kehoe is looking for a front-end Angular position in Boulder or Denver. His project, resume, and references are at https://crudiest-firebase.firebaseapp.com.