Your deadline is coming up. Your new app build is behind schedule. And as your blood pressure goes up, you get an email from your boss requesting a new feature to amaze all your users ”or there will be a problem.” The good news? Your budget allows you to bring on a new developer to help with the overload. All you need to do is find, interview, and hire the right developer and your project will be back on track.
Unfortunately, finding the right developer is never a simple task. You need to ask yourself questions about timing, needed skill sets, and desired team dynamic before you can even begin to look for candidates. Once you set these parameters, you need to have your recruiting and interview process prepared. Finally, after you find the right candidate, you need to have your onboarding plan to integrate this new developer into your team so they can begin to contribute as quickly as possible.
If this sounds like a complex task, it’s because it is. But don’t panic. This post will walk you through some guidelines to identify your specific needs, find the right candidate, and integrate them into your team smoothly.
How to Identify Your Developer Needs
The first step to staffing up for a custom software project is determining what kind of developer help you actually need. To figure this out, you need to ask yourself two kinds of questions: questions of timing, and questions of ability.
Questions of Timing
- How soon do you need this developer’s help? Immediately, within the month, or sometime next quarter?
- How well can you predict what this developer’s workload will be? This is especially important if you have an immediate coding need but aren’t as sure about next steps like deployment or support.
- Do you want this developer to help with one particular project, or a series of similar projects over a longer period?
- If you’re filling a specific need for one project, what is your plan to utilize this developer so they don’t sit idle once they have finished their work on that assignment?
Questions of Ability
- How specialized is the coding framework or technology you’re using?
- Do you want a developer skilled in one particular language or framework, or do they need to be able to handle multiple frameworks? What about separate technical tasks like tuning AWS environments or running QA tests?
- Are you sure you only need one new developer? Is it going to be easy to find the person you need, or are you looking for a highly-skilled unicorn?
- Would it be helpful for your developer to have other skills besides coding ability, such as an eye for visual design or a communications/writing background?
Once you answer these questions, it’s also worthwhile to ask yourself more practical questions about your budget and team dynamics:
Questions of Budget and Team Dynamics
- How much can you afford to spend hiring someone to fill your developer need?
- Do you have budget for a short-term candidate, or for a longer term commitment that may include salary and benefits costs?
- How flexible is your team with adding a new developer? Do you have the necessary desk space, hardware, and other overhead set up for this new role?
- Does the new developer need to work in the same room as your existing team? Do you have a remote access system in place with appropriate database access and a VPN?
- Who on your team needs to be involved with the hiring decision for your new developer?
By answering these questions, you have your ideal developer in mind based on skill set, time commitment, available compensation, and how this person will fit into your team.
How to Find The Right Developer
Now that you can picture your perfect candidate, you begin what’s likely the toughest part of the process: hiring the right person. This stage involves two main steps: searching for quality candidates, and ensuring these candidates are right for your needs.
Search for Quality Developer Candidates
This might not seem obvious, but “How do I recruit quality developers?” is essentially a marketing question. You need to grab the attention of your audience with the job title they’re searching for. You need to excite the audience to apply with the right details and description of what they will be working on. And you need to target the right audience so you don’t have to sort through hundreds of resumes by unqualified applicants.
If you only have a short-term need for developer help on a particular project, it’s probably best to engage a contractor on Upwork or via a technology consultancy (like us at ABT). These tactics let you search for a provider who has the skill set you need and the flexibility to get started immediately. In these cases, the only aspects of recruiting you need to concern yourself with are accurately describing the work you need done and the duration of the project. Your new partner will handle the rest.
For long-term hires, you will probably be best served by asking a recruiter to help you find good candidates rather than simply posting your open job and circulating it on Indeed or LinkedIn. A recruiter will do the work of sorting through resumes and LinkedIn profiles, verifying that candidates have the right skills, and matching the right people with your organization. Hiring a recruiter will cost you (usually 15% of the developer’s first year salary), but you will avoid the agony of going through hundreds of resumes in search of candidates who could actually be the person you want. You WILL have lots of unqualified people apply, no matter what your job description looks like—so it’s easier to let a dedicated recruiter handle this part of the hiring process if you have the budget for it.
Verify Developer Candidates’ Skills
So now you have a list of quality candidates. How do you make sure they actually have the skills they say they have?
One option is to simply ask them. The first step in your screening process should be a simple phone interview with any promising candidate. By asking them to describe their career and expertise in their own words, you can often perceive whether they sound confident and capable (or if they’re making it up as they go and trying to sound smart). This conversation is also a good chance to verify your candidate wants to work on the kinds of projects you need them for, which helps ensure a good fit.
If the phone screen goes well, the next step is having the candidate in for an interview. During this interview, it is not that important to quiz the candidate on how well they can answer technical questions. What matters more is having a candidate walk through his/her process so you can see how they solve problems, work with others, and fix mistakes. Can they talk intelligently about the architecture of a project they worked on? What design patterns did they use, and why? If they used 3rd party services or APIs, how did they integrate with them? Did they architect the application in a way that would allow it to fail gracefully if the service or API was down, etc.
A classic way to have a candidate answer these questions is a white board test. Here you have your candidate model (draw) out a hypothetical problem or project: how his/her project would work, what tables they would have, what functions they would use, etc. Rather than writing code on the board, you’re asking them to visually depict how they would solve a lengthy programming problem. They are also free to talk through their ideas as they draw to fill in details verbally.
It might be tempting to give your candidate a take-home coding assignment, but this can take way too long and in the meantime they might get an offer from another company that doesn’t require such a test. In-house tests solve this problem, but they’re high pressure and (because they usually demand multiple hours during a workday) also demand a lot from your candidate. You want to show respect for a candidate’s time, and the white board test should solve this problem enough.
How to Hire the Right Developer
Now you’ve found your ideal candidate and verified they have the skills you need. It’s time to close the deal by ensuring they are the right fit for your company and processes in a team interview. The “right fit” here is less about technical skill (since you verified that in the previous stage) than ensuring this candidate’s personality, work style, and goals line up with your company.
Make Sure the Candidate Fits You
How to gauge a candidate’s personality and work style is completely up to you. Some teams prefer outgoing communicators who love to talk out development with their colleagues, while others prefer more introverted developers who try to tackle problems themselves before discussing with the team. Some companies are fine with night owl developers who get to work at 10:30am and leave at 7:30pm, some need their entire team at their desks at the same time. When it comes to these preferences, the only thing that matters is clearly communicating to your candidate what you expect of them so both parties have the same understanding.
Then there are character issues, which are much more important. For example, whether they’re outgoing or quiet, you want developers who communicate effectively and respectfully with colleagues. Not every developer will be a natural empath who can talk out conflict perfectly, but pay attention to how a developer responds to criticism or disagreement in your interview (Be sure to ask about how they handled conflict in the past!). In short, character rule #1 should be “Don’t be a jerk.”
You also want to avoid hiring developers who exhibit stubborn or inflexible approaches to problem solving. Being able to learn from mistakes and try different techniques is crucial for your new developer contributing over the long term. After all, programming is not a static career—if they’re not learning, their skills are going to get stagnant.
Make Sure You Fit the Candidate
Finally, ensure in the interview your candidate’s goals and career ambitions line up with your company’s immediate and long-term needs. If you need someone to lead development using a particular coding framework for multiple projects, you won’t want to hire someone who isn’t passionate about using that framework (even if they can use it with skill). Why? Eventually they’ll get bored with repeated projects using their less-favorite framework and look for a new job—or worse, phone in their work in that framework so the quality of your project suffers.
The right connection between your developer’s goals and yours will be evident if they want to continue to grow their career in ways that align with your company’s larger mission. For example, a developer passionate about teaching and documenting their knowledge could eventually fit well in a management position. Someone who wants to learn more about Amazon Web Services or other cloud environments will be able to collaborate with your cloud engineers during deployment of the developer’s code.
Hiring the Right Developer: Not Easy, But Worth It
In case it’s not already obvious, hiring the right developer is a lot of work; you have to identify your specific needs, find the right candidate, then integrate them into your team smoothly. While this isn’t a simple process, there is nothing like the energy that a motivated and talented new developer can bring to your team. The result is not only a coding project finished on time, but an exciting new addition to your company who will make a lasting impact.