Hiring Great Drupal Developers - Buyer Beware!

user warning: Table './johnandcailincmsdb/node_counter' is marked as crashed and should be repaired query: SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 3487 in /var/www/drupal/includes/database.mysql.inc on line 172.

Hiring Drupal developers is difficult. Hiring great Drupal developers in the current market often feels close to impossible. They are highly sought after and most of the people on the market, in all honesty, aren’t very good.

I’ve put together a list of the best Drupal interview questions that I’ve used over the years to screen Drupal candidates. Hopefully you’ll find them useful.

CMS developers are an unusual breed. They come from a wide variety of backgrounds, often stumbling into programming. While a non-CS background can bring valuable perspective, if you need a strong generalist on your project you should take extra care to make sure that you’re getting the skill set you require.

As you are probably well aware, hiring is very time consuming. To be effective you should aim to spend 80% of your time talking to great candidates. To do this, you need an efficient initial screen to quickly weed out unsuitable candidates. Ideally you’ll do your screening online or on the phone.

Your screen should test for most of the skills that you’ll need to see exhibited on the job, including: web basics, OO PHP knowledge, solid coding technique, system design, CSS/HTML, SQL and Drupal expertise.

After the screen, don’t forget to look at your candidate’s commits to Drupal core or module functionality. In my experience, great Drupal developers have a track record of regular contributions to the project.

It's nice to know your blog

It's nice to know your blog for web development on Drupal i like this and more information.

I agree one should be

I agree one should be careful not to overemphasize consistently great responses to all of these questions. There are going to be some very high-value themers, site architects, and UX folks with limited coding skills who might completely fail the coding questions and would not normally be contributing code to modules.

I go straight to the

I go straight to the candidate's drupal.org profile page. If they claim "5 years experience", but their user account is only 26 weeks old something doesn't add up. I read through their posts: what kind of questions are they asking? did they follow-up after resolving an issue? what kind of help do they provide to others? are their answers substantive and accurate? What are their contributions (i.e. documentation, modules, patches, snippets, etc.)? Do they write clean code that's well-structured and commented when appropriate (sidebar: I believe no amount of comments are a substitute for easy-to-read code.)

And what about their communication skills: do they respond (written and verbally) in a timely manner? can they communicate with clients? are they positive and enthusiastic? When it comes to problem solving: do they throw-up roadblocks or offer alternate ideas?

Excellent stuff, thanks! :)

Excellent stuff, thanks! :)

Seeing how they

Seeing how they read/understand code is how I pick the winners (from a technical standpoint). I like to use db_query() http://api.drupal.org/api/drupal/includes--database.pgsql.inc/function/d... as an entry point as it's a simple concept but it gets complex once your dig deep. Printing out all the code related to db_query weighs in at 5 pages; most people struggle with it so seeing how they think through a tough problem is what I'm looking for. You usually spend 95% of your time reading code; thus I consider this a pretty good test.

Yea. Most interviews focus

Yea. Most interviews focus on writing code, but as you point out, we spend so much time reading it that it makes sense to spend a good chunk of time there.

While not a primary screen,

While not a primary screen, contributed work can be a determining factor in hiring. If I have to make a decision between someone who has done good work at a Drupal shop but I have very little code I can lay my hands on versus someone who also works at a Drupal shop but has contributed patches/modules either within the job or on the side, it's going to make it very easy to fall on the side of the person whose work I can see.

All Drupal developers should push for time within their company to work on contrib or core and if they don't get it, then they may have to work on that stuff on the side. It comes down to personal branding - you are in control of who you are, no one else is. If you want to make a good impression, open-source peer-reviewed work is one of the best ways to do it.

The screening questions are

The screening questions are generally good, but I take issue with the influence you place on having contributed to Drupal core/contrib modules. I work at an internal Drupal shop, and we maintain upwards of 100 high-traffic sites. While most of us are great Drupal devs, we don't have time to actively contribute back to Drupal via new or updated modules, themes, documentation, etc.

The best we can do is contribute back a patch we've made. We simply are too busy with regular maintenance and in-house development projects to spend time on non-work-related contrib/core modules. Does that make us any less competent Drupal devs?

I think contributing patches

I think contributing patches counts as contributing to core & contrib. At worst, you have to manage your internal patches and fixes anyway, why not get them accepted in the codebase?

If the choice is between someone who has contributed and someone who hasn't, all other things being equal - I would pick the person who takes the time to generate a patch or release a module.

Chris, you make a good

Chris, you make a good point. There are a lot of amazing devs out there that don't have time to contribute to open source. Thanks.

How is that a good point? So

How is that a good point?
So it is a fair use kind of thing if people profit, that is earn money, with open source software - and do not contribute anything back? Who "don't have time to contribute"?
I hope there are not a whole lot of amazing devs who do that.

Sure there are, but do they

Sure there are, but do they deserve to be hired?

That's an organizational question, but for many organizations I think it is and should be a requirement.

Very true. There is a woeful

Very true. There is a woeful lack of people working with Drupal who come from a CS background. I'm not saying that all developers should be - the community is enrichened by our business, art, and other-science majors but it would be nice to beef up on the people who understand and can develop OOP, SQL, and know some design patterns and when to use them. I see a lot of people able to hack their way through syntax but there is a crucial lack of understanding why and how it works the way it does.

CS != OOP, SQL, and design

CS != OOP, SQL, and design patterns knowledge

There is a great graph

There is a great graph explaining the Drupal essence for developers and as well for clients. http://athousandnodes.com/sites/default/files/styles/large/public/field/... so spend those 80% wisely

That's hilarious. And true.

That's hilarious. And true.

post new comment

the content of this field is kept private and will not be shown publicly.
  • web page addresses and e-mail addresses turn into links automatically.
  • allowed html tags: <h2> <h3> <h4> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • lines and paragraphs break automatically.
  • you may post code using <code>...</code> (generic) or <?php ... ?> (highlighted php) tags.

more information about formatting options

are you human? we hope so.
copy the characters (respecting upper/lower case) from the image.