Hiring skilled software developers is easier said than done. These days, companies need to invest a significant amount of both time and money in order to hire senior software engineers. If you're a small company or startup with limited funds, these costs may be difficult to handle.
That's why many startups have decided to hire junior software engineers. Easier to source and hire than their senior counterparts, junior devs also tend to come with fewer bad habits, and they can help you meet diversity initiatives and make your team more resistant to the nature of the job market. Hiring them also gives senior team members more mentorship opportunities and nurtures optimal team dynamics.
Read on to learn why, where, and how to hire junior software engineers.
Why You Should Hire Junior Software Engineers
Entry-level software developers offer many benefits to your company. Compared to more expensive senior software developers, they are:
Substantially Less Competitive to Source and Hire
The market for senior software engineers is saturated, making them more difficult to hire. In contrast, there is an oversupply of inexperienced developers due to less demand for them.
The shift to remote work in recent years has made it even harder for less experienced developers to get hired. Because many startups are working remotely now, they want to hire developers who have the experience and skills to mentor and onboard less experienced team members remotely, efficiently, and effectively. The high supply and low demand for junior software engineers means you'll have an easy time filling your open dev positions.
Blank Slates With No Bad Habits To Manage
Unlike their senior counterparts, juniors are clean slates. They don't have any strong opinions on how certain things should be done and are open to adapting to your company culture.
In contrast, many senior devs have had many years of experience working for certain companies and industries. As such, they're likely to have strong views on how certain things should be done, and may be less likely to adopt your company's processes.
For instance, they may not like how your company approaches Kubernetes and container collaboration. They may also dislike how other departments, like Human Resources, interact with them.
Help With Diversity, Equity, and Inclusion (DEI) Hiring Goals
Hiring junior devs will also help you meet your DEI hiring goals.
Many junior devs come from diverse backgrounds. This is because many underrepresented groups have been entering the tech space in recent years. In contrast, senior engineers - who have been in the tech space for a decade or more - tend not to be a diverse bunch.
This means that hiring junior devs will make it easier for members of underrepresented groups to become software engineers.
Make Your Team More Resistant to The Job Market
Hiring entry-level devs will also make your team less dependent on market forces. As the demand for devs increases, you will find it increasingly harder to source and hire the senior devs you want. Other companies and recruiters are constantly trying to poach experienced developers by offering sky-high salaries and benefits.
However, if you strategically hire entry-level engineers, you will not be as affected by these external forces. You won't have to engage in a bidding war over senior devs, and you'll have the time and freedom to pick the candidates you want.
Provide Mentorship Opportunities to Senior Team Members
Senior engineers can also benefit from working with junior devs.
If you bring junior devs onto your team, your senior developers will have more opportunities to explain, teach, and mentor the new hires. This will make your senior developers better communicators and help them become more empathetic towards those with less experience.
Working with junior developers will also encourage experienced engineers to become better at what they do. By asking questions about a difficult topic (i.e., how to launch pods in Kubernetes), junior devs will force senior engineers to reevaluate their understanding of certain concepts.
Nurture Optimal Team Dynamics
Finally, hiring junior devs will help you nurture optimal team dynamics. If you have too many seniors on your team, that could limit professional growth. By adding entry-level devs to the team, your senior devs will be exposed to new ideas.
Oftentimes, many senior devs come from the same age group and have similar experiences. In contrast, many entry-level devs are either much younger (if they're fresh grads) or have switched their careers from a different industry.
Where to Find Entry-Level Software Engineers
Entry-level software engineers are easy to source and hire. Here are a few ways to connect with them:
Have an Internship or Apprenticeship Program
Large companies often use apprenticeship or internship programs to hire entry-level developers. Microsoft and Facebook, for instance, have partnered with Harvard University to offer the Explore Microsoft and Facebook University internships, respectively.
These paid internships typically take place during a student's final year of study and last three to six months. If the student proves to be a good fit, the company will extend offers to them and the students will join their team after graduation.
- A great way to call dibs on talent: An internship is one of the easiest ways to lock in top-notch university talent while they're still studying.
- Bring new energy to your team: Interns are typically enthusiastic and passionate about the industry, so they can bring new ideas and energy to your team.
- Increase brand awareness: Partnering with a university shows that you are a student-friendly organization that's dedicated to the growth of entry-level programmers.
- Predictable and stable pool of hires: Since there are new students coming in every year, you'll always have a steady pipeline of potential hires.
- Simple onboarding and training process: The university and your HR team will work together to onboard and train new interns.
- Expensive: Not every startup can afford to create internship opportunities. Salaries for interns have been increasing in recent years. According to Glassdoor, programming interns earn an average of $46,072 per year in Los Angeles. While unpaid internship programs exist and many companies on a budget offer them, we strongly suggest against offering such internships. At the bare minimum, you should offer minimum living wages. Otherwise, this will limit the number of students who are able to apply to your internship, since many aren't able to sustain themselves without income.
- Difficult to achieve: Universities typically only partner with well-established tech companies, so if your startup is new and doesn't have much of an industry presence, it may be hard for you to partner with a university.
- Slow: It will probably take more than a year for an intern to graduate and start their new job.
- Limited pool of applicants: Hiring junior devs through internships will exclude leads with non-traditional backgrounds, such as self-taught programmers and second-career programmers.
Fresh College Graduates
Another option is to hire fresh college graduates. Unlike interns, fresh graduates have already graduated from university. As such, many of them are enthusiastic about starting their career. They're also more likely to reach out to you than students who are currently studying, since they have more time on their hands and student loans to pay.
- They have flexible schedules: Unlike interns, college grads are already done with their courses. As such, they have more time to schedule interviews with you. They're also more open to flexible schedules than senior devs because they have higher energy levels, fewer family and personal obligations, and the ability to work on the weekends and late at night.
- They need the money: Many college grads need a reliable source of income to pay for their expenses and their student loans. As such, they're more likely to work later or over the weekend.
- They want to prove themselves: College grads know they need real-world industry experience to move up the corporate ladder. This means they want to learn as much as possible so they can grow and earn better titles and salaries.
- They're easier to source and hire: Fresh grads are easy to hire because they want to put themselves out there. You can easily find them on LinkedIn, Indeed, and other hiring platforms.
- They have limited skills and experience: Most fresh grads won't be able to hit the ground running. Unlike their more experienced counterparts, they probably won't know the ins and outs of say, using Kubernetes to scale your company's applications. They also probably won't be able to lead your team, create apps from scratch, or mentor others.
- Usually require ample training: Every new hire needs onboarding and training, but these processes may be longer and more expensive for recent graduates. Many of them have never worked full-time before, so they need coaching on office etiquette and protocol, including workload management, workplace communication, and punctuality.
- May not want to stay with your company: Many young people aren't interested in staying with a company for the long term. According to a study by IBM's Institute for Business Value, one in five workers switched jobs in 2021, 33% and 25% of whom were Gen Z and millennial, respectively.
Developer Bootcamp Graduates
You should consider recruiting junior devs from bootcamps. Bootcamps are short-term technical training programs designed to prepare graduates for developer jobs.
Bootcamps provide a rich array of potential hires. Unlike universities, bootcamp students come from all walks of life. Examples of successful companies that source devs from bootcamps include:
- Target, which is working with the Hackbright Academy to sponsor women and people who are gender diverse to learn to code in 12 weeks.
- Amazon, which partnered with Bloom Institute of Knowledge (formerly known as Lambda School) to create a nine-month backend web development course.
- Booking.com, which works with the refugee training program HackYourFuture to provide tech training for refugees.
- The ability to hire from a diverse candidate pipeline: Unlike universities, bootcamp graduates come from a variety of educational backgrounds, such as:
- Self-taught programmers who want to perfect their craft.
- People who have switched careers (i.e., they worked as lawyers for a few years but now want to become programmers).
- Non-computer science graduates who want to become coders.
- Computer science graduates who didn't get an industry-relevant job after graduation, and are now looking to sharpen their skills so they can land one.
- Less competition: Since bootcamps are generally less well-known than universities, there's less competition when hiring from them. In fact, there might even be an oversupply of bootcamp candidates.
- Bootcamps are easier to partner with than universities: Bootcamps are generally more enthusiastic about partnerships than universities are, even with smaller companies. This is particularly the case for smaller and newer bootcamps.
- Quality of candidates can fluctuate greatly: Unfortunately, the quality of bootcamp graduates can vary greatly from program to program. The shorter the program offered by the bootcamp, the more likely the grads won't have the skills you want.
- May need to spend more time on mentorship and onboarding: Bootcamp hires may need more on-the-job training and mentorship in order to meet your standards.
- May need to create a new career ladder level: Depending on the skills and experience of your bootcamp hires, you may need to add a new career ladder level that's one rung lower. If your new hire has almost no prior educational or industry knowledge, your expectations of them will need to be lower than someone with past industry experience or a more traditional education. Creating a new entry-level position such as "Associate Software Engineer" for them will mean they have a role that better fits their background, and will help them utilize their skills and reach their potential.
Existing Employees With a Desire to Upskill
You can also source junior devs by upskilling existing employees who want to learn new skills.
Here's how you can do this:
- Survey your existing employees and ask them if they're interested in learning the basics of coding.
- Then, pair them with senior devs. These senior devs will mentor and train them until they're sufficiently skilled to become a junior developer.
As an alternative, you can also run these employees through an external training program like a bootcamp. Once they graduate, you can incorporate them back into your company by having them train under your senior devs for a few months. This way, your senior devs will have more time to spend on their projects.
- Easy to source and onboard: These employees already work for your company, so you don't have to go through the process of evaluating them to see if they're a good fit for your company. All you have to do is interview them to see if they're truly interested and capable of becoming junior devs.
- Easy to work with: Since these team members are already part of your company, once they've been fully upskilled, they're very likely to work seamlessly with your senior devs. They already know your company culture, who their colleagues are, and how you prefer projects to be done.
- Slow: It may take a very long time to upskill existing employees, particularly if the employees come from non-tech backgrounds.
- Dismissing employees who don't meet the mark from the upskilling program: The upskilling process can be trying for everyone involved, particularly the employees seeking upskilling. The upskilling process may not be what they expected and some won't be able to catch up. They may not be able to finish the program or get a full-time position as a junior dev, leading to wasted resources, time, and energy.
- Expensive: You need to invest in developing or partnering with a thorough upskilling program. If you skimp on investing in this, your employees may not have the knowledge and skills to take on junior dev positions.
- Senior devs will have less time and energy for their own work: Senior devs who mentor and upskill candidates will have less time and energy for their projects, leading to decreased productivity. You'll have to work with them to see how they can work less to deliver more. This could mean readjusting a lot of schedules, expectations, and even key performance indicators (KPIs).
How to Hire a Junior Software Developer
Hiring junior software developers is a bit different than hiring senior engineers. Here's what you need to do to capture and retain junior tech talent:
Have a Job Description With Wording That Doesn’t Deter Juniors
Firstly, you need to write a job description that is junior-friendly.
Try to be as neutral as possible and avoid putting too much emphasis on "prior experience." You should also:
- Avoid listing out specific experience requirements: Avoid listing specific requirements like "2 years of C++ experience required." This way, junior devs who have little to no experience won't feel intimidated by your post.
- Include succinct yet detailed information about career progression: Graduates don't want to take on a dead-end job, so you need to draw them in by telling them what they will gain from the role besides paychecks.
- Show what makes your company different: Use the job description to sell your brand and show junior devs that your company is worth their time. Showcase high-profile clients, how rapidly your startup has grown, and any media attention or awards you've gotten.
Ensure Interviews Match the Skills of Junior Coders
You also need to make sure that your interviews match junior coders' skills. This means you have to create interviews specifically for junior coders. Don't just reuse questions and tests for mid-level or senior coders (i.e., difficult tests about artificial intelligence that only seasoned developers could answer properly). Otherwise, you'll end up eliminating most - if not all - junior coders applying to your position.
Interviews Should Be More Behavioral Than Technical
In the same vein, your interviews need to focus more on potential hires' behavior, personality, and interests than on technical skills and experience. These questions will help you understand whether a potential hire is a good fit for your company.
Here are some behavioral questions you can ask potential hires:
- Why are you interested in applying to this position?
- When did you start showing an interest in programming? What draws you to programming and technology?
- What do you want to do with programming? Do you have any side projects that you'd like to share?
- What is your favorite programming language? Tell us about your experiences using this language.
- What other programming languages do you want to learn? Why?
- What is your ideal work environment?
- Do you keep up with the current trends and advances in programming? How?
- How do you find meeting deadlines? Do you find it stressful? How would you juggle multiple deadlines at once?
- What programming mistakes do you find indefensible? Specifically, what do you think of submitting code without testing it first? How would you handle a co-worker making such a mistake?
If you have to include skills in your job description, don't be too picky. If you list out too many requirements, you may have a difficult time locating hires. Instead, think about general skills and interests you'd want them to have. Here are some examples of junior-friendly requirements:
- HTML or CSS skills preferred, but not required
- Prior experience with Python is preferred, but not required
- Interest in learning C++ (as opposed to experience in C++)
- Interest in artificial intelligence
Refrain From Take-Home Programming Assignments
You should also resist giving potential hires take-home programming assignments, particularly if they don't have prior coding experience.
Take-home assignments may intimidate juniors from continuing the job application process since many of them involve building APIs from scratch, which can take hours and even days to complete. This is typically too difficult for most junior programmers to tackle, particularly if they have little to no experience with programming.
With salaries for senior devs skyrocketing in recent years, junior developers can be a boon for your company. Not only are they more cost-effective to hire, but they also:
- Are much easier to source and hire since there's less competition for hiring junior devs.
- Are clean slates with no bad habits to manage.
- Help with DEI hiring goals.
- Make your team more resistant to the nature of the job market.
- Give senior team members mentorship opportunities.
- Encourage and nurture optimal team dynamics.
Interested in learning more about how you can source, hire, and onboard vetted junior coders? Contact us today.