Questions to ask when hiring a Drupal developer
Drupal is one of the most powerful and versatile open-source development frameworks, but not every Drupal developer is cut from the same cloth. While differences in style and approach are to be expected, project managers should be prepared to judge the expertise of potential developers.
What should a project manager look for in a Drupal developer?
It's important to state up front what you shoudln't look for: certifications. While there are some certifications available in related technology (particularly for PHP), professional certification is particularly unhelpful in determining the fitness of a Drupal developer. For decision-makers more familiar with proprietary technology, this can be a significant change in approach. While the development ecosystem for Microsoft products, for instance, is tightly controlled by a central authority, open-source communities grow organically. While projects like Drupal have adopted standards for code styling, technical architecture and the like, they are voluntary and cannot be directly compared to other projects, even those written in the same language.
Without certification, who's to say a Developer is sufficiently skilled?
The word "community" is important in open source. While it's entirely possible for a developer to work on a particular project in isolation, the most successful and competent will "contribute back" to a project with bug fixes, documentation and tests. As opposed to proprietary software, where frameworks are developed by a sponsoring company and updated unidirectionally, open-source developers actively help build the software they use.
Determining a candidate's degree and quality of involvement is a subjective, but still very worthwile, step in the evaluation process. Any quality developer should be forthcoming with his Github and Drupal.org account names (mine are linked at the bottom of this page), and any reluctance to provide them should be a red flag.
In reviewing a developer's Drupal.org profile, look for:
The age of the account - While time isn't everything, a developer's CV/bio should overlap with his community involvement.
Posts - The posts tab on the d.o. profile page lists all posts made by a user, including support requests, Documentation contributions, and Issue queue comments. A profile with almost all support requests and no issue queue participation should warrant a closer look.
Commits - True expert Drupal developers with at least a few years' experience should have at least a handful of commit credits to their name.
Drupal Association membership - It's cheap to get, but says a lot about a developer's commitment to supporting the future of Drupal.
With the launch of Drupal 8, which incorporates technology from the wider PHP community, consider a look at the candidate's Github profile, as well. Github is the de-facto home for community software development and similar activity (commits, pull requests, issue queue participation) is indicative of an involved, educated developer.
Ask about their toughest project.
Software development isn't always a walk in the park, but good developers enjoy solving tough problems. Ask the developer about their toughest projects - and the thought process they used to come upon a solution.
Good developers keep good company.
Note a theme here? Open source is all about community. If you're still unable to determine a developer's suitability for your project, ask for references. While many freelance developers (myself included) tend to work alone on many projects, a good Drupal developer will have helped others, even on a volunteer basis, and cultivated a reputation.