As the market of great technical talent continues to dwindle, hiring a junior developer has become an increasingly attractive option for many startups. There are several perks to hiring junior level programmers instead of more senior “ninja-rockstar” developers. First, they tend to fit better with startup level budget constraints. Junior developers may also be more eager to learn on the job and open to new ways of going about projects than their more established counterparts. However, these same factors that make junior developers desirable can also make the hiring process more difficult.

Like their title would imply, these hires are coming into your company with little to no track record of actual projects or software development. This can actually be a great thing, since every programming project is so unique—this person won’t be committed to one particular coding style based on past experience. But because you can’t use hands on experience as an indicator, you’ll primarily be hiring based on potential. Here are some factors to consider as you determine whether a particular junior development candidate may be the right fit for your company:

1) Test for a strong foundation.

Most junior level candidates won’t likely have extensive, in-depth knowledge of your platform of choice, but they should have a solid basic understanding of the more common coding languages. Applicants may be able to demonstrate this through past contributions to open-source code, but that’s not always likely. Therefore, it’s useful to test for an understanding of basic code to get an idea of the candidate’s potential. Avoid filters like the FizzBuzz test, which at this point are too overused and expected to be an accurate indicator. But a solid algorithmic code test can give you a good idea of the candidate’s abilities. Remember, you’re looking for aptitude, here, rather than experience. Is this person teachable? Do they understand enough of the vocabulary and concepts to be able and eager to learn more?

2) Problem solving skills are essential.

You’ll want your junior developers to not only understand the basics of computer science, but also have a strong problem-solving mindset. How are this person’s analytical skills? How does he or she react when faced with a problem they haven’t encountered before? Particularly in a startup environment, nothing is routine and every challenge can require a new and different solution. Many young developers may have the necessary competencies for basic programming, but how will this person deal with your software’s more complex architectural requirements?

3) Pay attention to communication skills.

It’s a commonly overlooked qualification for programmers, but the ability to clearly and confidently communicate ideas and contributions is an essential skill. The candidate should not only be able to solve programming problems, they should have the ability to communicate and defend how they arrived at their conclusion. Further, how does the applicant handle feedback on their solutions? Can he or she internalize and incorporate your suggestions without getting defensive? In order to be teachable, junior developers must be able to both explain their own point of view and take direction well from mentors.

4) Know what motivates your new hires.

Fortunately for cash-strapped startup founders, money and perks don’t seem to be the primary motivating factor for most junior developers. In fact, many programmers cite working on interesting technical challenges and with talented programming teams as equally important as their financial and benefits package. Even with junior level developers, the current available market of high quality technical talent is sorely limited. So consider the intangible benefits you can offer these hires and use those to recruit candidates with the best potential.

5) Be prepared to offer training and guidance.

Though a junior developer may require less immediate cost in the form of upfront salary requirements, turning your new hires into an asset to your company does require significant investment. It’s essential that you dedicate the time and resources necessary to cultivate this new talent in order for them to be useful to the team. For every junior developer, you’ll need a great mentor programmer who is able and willing to work with him or her to teach your company’s way of doing things.

6) Plan to experience growing pains.

The hiring of a junior developer will not be an immediate boost to the productivity of your programming team. In fact, your new hire might even slow your team down at first as you’re focused on getting him or her up to speed. When this happens, don’t immediately write off your new hire. Be patient and plan for these delays as necessary growing pains that will eventually lead to a great new asset to your team.

Investing in a junior level programmer can be worthless and even detrimental to your team if you aren’t able to dedicate the time and resources to provide significant training. But if you can find the right person with the right potential and allocate adequate resources to cultivate your new talent, you’ll soon create the exact type of talent you want for your team at a rate that is the right fit for your startup level budget.