Main image of article 8 Tips for Hiring a Great Software Developer

If you’re searching for the most efficient and effective ways to attract and hire talented software developers, you’re not alone.

Nearly 24 percent of employers admit that they face considerable difficulties when searching for candidates, according to the State of Software Development Report. What’s worse, over 50 percent of businesses hire tech employees who don’t meet their top job requirements.

The harsh realities of today's ultra-competitive job market require a new hiring process and approach. Here’s how intuitive tech managers are managing to attract and hire top-notch software developers.

1. Create an Objective-Based Hiring Profile

Screening out candidates who lack experience with specific programming languages and tools is not the best way to find a great developer for your company, explained Vangos Pterneas, Founder and Lead Software Developer for LightBuzz.

Pterneas noted that being familiar with a tool or program has nothing to do with success in the position over the long term. “Why look for experience with a specific programming language when a competent developer can pick up a new program in week or two?” he asked. “With new development tools and libraries being released daily, you are better off hiring for talent, not skills.”

Figure out the type of problems you are trying to solve, the challenges your candidate will face, and the outcomes you want to achieve. From there, let the nature of the work and the goals of the position determine the strengths, innate traits and foundational knowledge that a candidate needs to possess.

2. Get Everyone on the Same Page

Nothing derails a hiring process faster than when everyone has a different opinion about what makes the perfect candidate, what determines the team’s priorities, or what a realistic caliber of hire is (given the budget). Simply put, talented developers don’t want to work for an ineffective leader or join a dysfunctional team.

Before you post the job or start reaching out to candidates, build consensus around your value proposition. Source strategy, budget and goals for the team over the next six, 12 and 18 months.

“The most important thing is to have a strategy and plan going into the process, as it will enable consistent and clear decisions,” pointed out Josh Tyler, EVP of Engineering for Course Hero, who responded to questions via email.

George Mauer, who has interviewed and hired over 250 developers as Director of Development for Surge Consulting, suggested that hiring teams could benefit by creating an evaluation framework (i.e., some sort of metric to rate candidates 0, 1 or 2 against key characteristics). Having a clear evaluation process will keep everyone focused on the original hiring profile and goals as the search progresses.

3. Grab Top Developers at “Hello”

Once Pterneas identifies a high-potential prospect, he delivers a transparent, detailed pitch over the phone, focused on the things that matter most to developers.

He paints a complete picture to pique their interest, describing the company’s vison, product, technical environment and the backgrounds of team members. But he doesn’t stop there. He also reveals the starting salary and benefits for the position.

He says that being up-front about the nature of the role and compensation saves everyone time, kindles trust, and allows developers to opt in (or opt out) of the hiring process based on their financial needs and their interest in developing a specific product or solution.

4. Start with a Conversation

Tossing some sort of take-home coding test, questionnaire or whiteboard exam at a busy developer you barely know will drive them off.

According to Mauer, take-home projects are chock-full of hidden requirements that need context and details, which are usually impossible to communicate.

The hours it takes to complete an assignment and review the code is just one of the reasons why these take-home assessments are so horribly inefficient. Besides that, they tend to favor the developer who is interviewing frequently, so they’re sure to steer away passive candidates.

“Frankly, I feel that most senior developers can talk through their approaches and problem-solving techniques in a few minutes,” Mauer added.

Moreover, starting with a face-to-face discussion about technical subjects and prior experience gives both parties the opportunity to assess the chemistry and fit, learn from each other, and decide if moving forward with a coding test or additional interviews makes sense.

5. Involve Peers

Developers like to talk shop with other developers. What’s more, peer interviews invite honest interactions and provide prospective employees with a realistic preview of the job and learning opportunities.

To put their best foot forward, employers should consider having peers who attend technical conferences and meet-ups do the interview, or at least chat with prospects over coffee. After all, top developers have choices; they are interviewing you as much as you are interviewing them.

“This is not a task for the technical lead who spends all evening cloistered in his office,” Mauer warned. “It’s shocking how many people don’t realize that talking tech is a skill not just any technical person commands.”

6. Use Realistic Coding Evaluations

Tyler advised that the best interview questions or coding problems are taken from real-life situations your company’s software developers actually face. By taking this approach, you’ll get the strongest signal about their potential on-the-job performance.

Pterneas agreed, explaining that he actually goes out of his way to make applicants feel comfortable by simulating a typical work environment. For instance, instead of using a whiteboard, he allows developers to write code on a computer with a standard keyboard and mouse while he watches from an adjacent monitor.

Although he’s available to answer questions or listen as the developer describes their problem-solving approach, he likes to stay in the background until the candidate is finished. Observing a developer in action helps him quickly assess the quality of their code and aptitude for the position.

“Experienced developers usually complete the exercise in 15 to 30 minutes, while exceptional pros finish in 10 to 15 minutes, and moderate candidates take 30 minutes or more,” Pterneas said.

7. Show Respect

When additional coding tests or interviews are required to separate two or three outstanding developers vying for the same position, Pterneas pays them for their time. And given the current market conditions, that’s a wise move.

Research shows that the candidate experience can change minds for better or worse. Putting prospective hires through numerous assessments and interviews, only to turn them down, will damage your brand and hurt your ability to attract top tech talent in the long run.

8. Make Speedy (but Thoughtful) Hiring Decisions

The most successful tech hiring managers and leaders have streamlined their hiring processes to extend an offer to the best candidate in a matter of hours or days; or at the latest, within a week of the final interview. Many have even adopted same-day hiring.

“We don’t leave anyone hanging or guessing about their status,” Pterneas said. “Even when we are interviewing several developers, we make a decision and extend an offer within one to two weeks.”