When you need a hardworking, skilled and inspired web or mobile app developer, separating the stars from the slackers can seem as complex as code itself. Should you focus on a developer's work style? Programming language mastery? A degree from a top-notch school?
The great news is, there are basic things you can do to stay organized and swing the odds in your favor. Here are five important ways to locate a top-notch software engineer without over-thinking the entire hiring process:
1. Dig into open source projects
Many developers have lots of projects floating around on sourceforge.net and github.com. But it isn't enough to see that a developer has written a project, you need to understand the project. Did the developer write it in a weekend because they were bored? Did they dedicate a year to a project without writing a single line of documentation? If you're not sure a developer would know good code even if it brought them breakfast in bed, grab another developer and ask them to make their own assessment.
2. Always conduct a technical interview
If you're nixing a technical interview, hiring a developer will be like renting an apartment to the first person who shows up. Not only will they miss their rent payment, they might trash the place. While a lot of developers balk at having to do a very technical interview, the technical interview is critical in finding a good worker. In other words, the only way to tell one developer's experience from another's is to make your potential hire write some code, period.
3. Expect the best candidates to break the mold
Ace coders come in many different shapes and sizes, but what makes them great is usually the same thing that prevents them from being a typical 9-to-5 employee. If your potential developer didn't finish school, dig past the what and into the why. Did they fail college because they spent finals week writing an n-dimensional ray tracer? Then they'll probably pour their life into your product because they'll want it to be perfect.
4. Explore a developer's real work style
If there's one way to reveal how a developer functions on projects, it's exploring their personal work style. Ask a developer how they've worked on team projects in the past. If they give you a stock answer like “We shared responsibilities and divvied up the work evenly”, they're the wrong person for your project. Instead, if they tell you they delegated documentation writing to someone who was really good at it, but they personally finished the coding in a single weekend, they're most likely entrepreneurial and dedicated. Find someone who plays well with others and understands their own strengths and weaknesses and you'll be golden.
5. Broaden the language set you're looking for
Here's the straight truth: if you hire a crappy Java programmer, you're stuck with a crappy programmer. However, if you hire an ace C++ developer, you've hired yourself an ace developer. A true ace C++ (or whatever else) developer will learn Java AND your project faster than an average developer ever will. Languages are about syntax and skills are about knowledge, but remember: you're looking for someone who knows how to think on their own, see the big picture, and work on multiple facets of your project.
Finding that diamond-in-the-rough developer when the stakes are sky-high and you're low on time or patience, can bring some serious pressure. However, if you use these tips as a master checklist, you'll track down and hire someone who shares your passion, work-ethic, and vision for your project.
Brian Geisel is the CEO of Geisel Software, a team of IoT and Robotics Software Developers. Our unique value-add is that not only write very low-level software on the device (embedded software), but we can also connect you via the cloud (web applications), mobile (iOS/Android) or both! From medical ...