How I hire software developers

I’ve noticed that quite a few job posts for software developers still recruit for “ninjas,” “makers,” or other hip job monikers.

As one of the people responsible for new hires at Weever Apps, I try to carefully write our job placement adverts to demonstrate that our business culture views a developer as a person and not as a cute title. When I see these “of the moment” job titles, I feel that the applicant is being treated only as a commodity. I believe in hiring people.

I was recently asked by a person I was interviewing for a position at Weever Apps how I evaluate software developer job applicants.  I explained that after I establish the applicant’s general technical qualifications, I then evaluate additional attributes to determine their suitability for the job: problem-solving experience, perseverance, and patience.

Problem-solving experience.

My first evaluation addresses the applicant’s commercial or self-directed problem solving experience, – and not their education, training, or certifications. I don’t think there’s a substitute for solving real-world problems with code or other tools. Great developers, in my experience, are professional problem-solvers.

Items which “flag” someone’s proven problem-solving experience include:

  • Active and varying roles on complex work projects.
  • Contributions to open-source github repositories.
  • Volunteering, or co-op work, or internships.
  • Personal projects.
  • Experience with a business case that’s similar to what we do at Weever Apps (fulfilling projects for enterprise clients, working with digital forms, etc.)

Perseverance and Patience.

As with all things, class and other types of privilege give undue advantage to some some individuals. Finding the time to contribute to a github repo, volunteer, or work on personal projects is much easier when you’re already well situated and/or well-off. So I also look for evidence of perseverance and patience in our applicants. While not everyone has the time to volunteer or work on side projects, but most people who really love coding will find ways to pursue and keep their passion active. continue to do so as much as they can.

Perseverance is important. Very few companies build things well on their first try. Most struggle through shifting project scope, employee turnover, miscommunications, and (sometimes) unreasonable expectations. The best people-at-building-things I’ve known have learned to match their intelligence with both the perseverance to confront tough, unfair problems, and with the patience to know when to step back, review whether the problem is actually being solved (well,) – and formulate a new plan.

So when you are looking (or hiring) for a reliable software developer position, remember the three P’s: Problem-solving experience, Perseverance, and Patience. It’s a good formula for developers and a good one for entrepreneurs too I think!