CommonPlaces Gazebo

Five Questions You Should Ask Your Drupal Developer

Posted January 12th, 2009 · by Kenny · 18 Comments

Choosing a developer for your Drupal project can be a daunting task. Drupal is a hot technology, and there are a lot of talented (and some not-so-talented) individuals out there who are offering their Drupal services. Who should you choose? Here are five questions you can ask Drupal developers you encounter to find out if they are Drupal ninjas or Drupal noobs.

1. What are your contributions to the Drupal project?

  • Do you have a CVS account with the ability to contribute to the Drupal project? (see note below)
  • What level of help do you provide to community members in need of guidance?
  • Have you contributed to any of the modules or themes located in the Drupal repository?
  • Give us some examples of the work you have done to contribute to the Drupal project.

Okay, so it’s more like “Nine Questions You Should Ask Your Drupal Developer,” since this one is really four. The key here is to find out if your Drupal developer is an established player on the Drupal scene. Drupal is open-source, and relies upon contributions by the Drupal community to continue to grow. A CVS (Concurrent Versions System) account is an account on Drupal.org for developers to contribute to the project. If your development team has their own accounts, and they have contributed to Drupal, it’s a good sign they are the real deal.


If your potential developer is using computers like these, they may not be the Drupal developer for you. (Photo by cote)

2. Do you have working examples of a multisite installation of Drupal that we could review? Live sites using the technology?

It’s possible to run sites on multiple domains or subdomains from one installation of Drupal. That way, you only have to make updates once for several domains. Pretty cool, huh? This is referred to as a multisite installation, and if your project requries one, you want to know if your developer has experience with them. Ask to see examples. If they ask you what a multisite installation is, run.

3. What kind of version control system do you utilize for managing the code that you write? In other words, is our code going to be managed and is it safe for changes?

Reliable developers use version control software to manage the code changes they make to your project. Version control makes it easy to revert back to previous versions of the application because all edits are logged. Version control becomes a necessity when multiple people are working on the same project in order to keep track of the changes that are being made and to prevent concurrent changes to the same section of code. At CommonPlaces our engineers use Subversion, a powerful version control system that allows them to see recently changed files and the specific lines of code in those files that were changed.

4. What is your plan for Quality Assurance and staging of our website before it goes to production?

A wise developer (in any technology) knows that sometimes things don’t work as expected. That’s why a smart Drupal developer will test changes to your site in a staging area before publishing them on the live site. Ideally, your developer will have a thorough testing plan for Quality Assurance that is implemented before changes are published, and is willing to share it with you.

5. Do you have access to the top contributors and core developers in the Drupal scene? If so, who? Can you provide a reference?

Ever heard the expression, “It’s not what you know, it’s who you know”? Well, I wouldn’t go that far, but it would be nice if your developer was connected with some of the top Drupal gurus. Be sure to ask for references. After all, you wouldn’t hire a new employee without references; why should you hire a Drupal developer without them?

Hopefully these questions will help you find a capable and experienced Drupal developer. If you would like to send any answers you receive to our team, one of our Drupal experts would be happy to review them. Feel free to contact us with any Drupal questions you might have—or to hear our answers to these questions!

Note: Fixed question #1 above. Thanks to commenters for bringing this oversight to my attention. There was a bit of a mix-up between me and marketing (the word people). Sorry for any confusion!

Tags: Drupal · Web Development

18 responses so far ↓

  • 1 Kathleen // Jan 12, 2009 at 4:13 pm

    “Do you have a CVS account with the ability to submit patches to the Drupal core?”

    To the best of my knowledge, only two people at a time are capable of comitting patches through CVS to a Drupal core branch… Dries always being one of them. At the very least, those who can commit to Drupal core are few and far between.

    “Do you have working examples of a multisite installation of Drupal that we could review? Live sites using the technology?”

    Err… Actually, I do not believe multisite is the best way to manage multiple sites. It adds a large overhead requiring you to test every single site after each upgrade before deploying to production. The more time testing, the more things change in production, the more testing you have to do…

    I much prefer removing Drupal core and modules as external entities through my version control system. Update once, but test and deploy each website as an individual. I only use multisite if there is a direct link between all the sites involved — like shared tables.

    “Do you have access to the top contributors and core developers in the Drupal scene? If so, who? Can you provide a reference?”

    Although references are of course very important, I wouldn’t say that it is very important that one of those references be a top Drupal contributor. Not everyone travels in the same circles, and I’d say that the Drupal developer base is large enough that they shouldn’t expect to be.

  • 2 sun // Jan 12, 2009 at 4:27 pm

    Nice write-up! I wish some of our clients would have known those recommendations before letting some “developers” do their contract work, which we needed to fix afterwards.

    Care to add those recommendations to drupal.org handbooks?

  • 3 Pasqualle // Jan 12, 2009 at 4:33 pm

    CVS account is not required to submit patches for Drupal core, modules or themes. Anyone can use the anonymous user to download code from cvs.d.o

    Bonus question: what is your d.o ID?

  • 4 Garrett Albright // Jan 12, 2009 at 4:43 pm

    I’m not so keen on that last question, partly because it’s kind of vague. In #drupal, I’ve chatted with and exchanged ideas with chx, webchick, Michelle, and probably other “rockstars” I can’t recall – but I wouldn’t say I “have access” to them, nor would I feel comfortable naming them as references. But even if they *were* at my beck and call, I don’t see how that would make me a more skilled Drupal developer by virtue of it.

    I do think it’s important for devs to be active in the community, though, so the first question is a really good one.

  • 5 Anonymous // Jan 12, 2009 at 4:59 pm

    This is a really great write up and hopefully is helpful for people. I would question though whether having an example of a multisite installation is really a necessary credential for a Drupal shop. Many of the organizations that would need help figuring out which questions to ask a dev shop probably aren’t in need of a multisite set up, and there are great Drupal shops and developers out there who generally do simple builds for clients. Even if they know how to do a multisite, they might not have an example of one. It might be a great sign if they have one, but should hardly be a requirement to validate a potential developer.

  • 6 Brian Puccio // Jan 12, 2009 at 6:09 pm

    You don’t need a CVS account to submit patches to core. In fact, there are very few people who commit patches to core.

  • 7 agentrickard // Jan 12, 2009 at 6:20 pm

    “Do you have a CVS account with the ability to submit patches to the Drupal core?”

    Anyone with a Drupal.org account can submit patches to core. Core can be checked out of CVS anonymously, so submitting patches to core does not require a CVS account.

    Only the core developers can commit patches to Drupal CVS. Given that only Dries and one other person (webchick for D7, goba for D6, drumm for D5) have commit access for a Drupal release, this is just silly.

    It should be three questions:

    1) “Do you have a Drupal.org CVS account?”
    2) “Have you submitted patches against Drupal core?”
    3) “What are some core Drupal issues that you have worked on (with node ids)?”

    /me is a bit cranky today.

  • 8 Ben // Jan 12, 2009 at 7:24 pm

    You don’t have to have a CVS account to provide patches to Drupal Core or any contrib module or theme issue. A great question is, “What’s your Drupal.org UID?” With that you visit their tracker page and look at their interaction. If they have a CVS account there’s also a code tracker and you can see their commits.

  • 9 Petr // Jan 12, 2009 at 7:43 pm

    “Do you have a CVS account with the ability to submit patches to the Drupal core?”

    Did you mean drupal.org account to submit patches into issue queue?

    Otherwise only few people have CVS access to Drupal core.

  • 10 Matthew Slater // Jan 12, 2009 at 8:19 pm

    While participation in the Drupal community may be an indicator of competence, it is not a necessary indicator.

  • 11 agentrickard // Jan 13, 2009 at 9:30 am

    @Matthew Slater

    Yes, but it is an indicator of general attitude and a willingness to work well with others. Developers who do not participate in the community are a bad bet.

  • 12 Ted Wahler // Jan 14, 2009 at 1:28 pm

    Interesting article, written from a developers perspective.

    From a client perspective the questions are:
    1) What have you done?
    2) Where can I see what you have done?
    3) How long and how much?
    4) What challenges did you face and how did you resolve them?
    5) Who was your point of contact on the project that I can talk to about your work?
    6) What are your current commitments that will influence my project?

  • 13 Neil // Jan 14, 2009 at 3:39 pm

    Some good ones, however, the client would also be well advised to assess their own needs, otherwise it may result in a “sledgehammer and walnut” situation.

    Going by the criteria above you would end up with an exceptionally well qualified Drupal developer, however, you may also end up paying $150 an hour for this.

    If you only need a brochure site or blog site creating, a less well qualified, yet equally effective, developer could be found for $50 an hour.

  • 14 Dan // Jan 19, 2009 at 3:07 pm

    Surely another question should be “How will you handle upgrades to modules and the core on my website?”

    Many clients are unaware that Drupal can require updating regularly, like patches to Windows (ugh) or regular servicing of a car.

    I also question that someone needs to be a contributor to Drupal. Not everyone who contributes is easy to work with…

  • 15 ryan // Jan 28, 2009 at 10:27 pm

    I’d say that #1 (contributions) is really important to get a general sense of who your developer is in the drupal community — someone who participates, or someone who is on the sidelines? Both may be ok, but someone who participates does give you a track record to check out their integrity and how they play well with others. A good track record is a recommendation. The lack of a track record should lead you simply to ask the developer of where you can see clear evidence of their work. It is worth asking why they don’t participate on drupal.org.

    #3,#4 and comment 14 by Dan are all aspects of the same thing to me — competent change management. Does your drupal developer know how to handle rolling out new stuff in a sustainable way? — whether it’s a newly coded feature, merging in a bunch of new content, or having to upgrade under pressure of a security vulnerability. A drupal website is a specific combination of a database and a code base, with two different rates of change (which may completely swap when you finish your sprint and go into production). Can your developer handle developing, merging and rolling back(!) both code and data in a systematic way to prevent problems? How will you (or they) continue to do this after launch?

    #5. Being on firstname basis with the rockstars…. Not that important because these gurus are not likely going to be working on your project. What is more important is that your developer pays attention to drupal best practices (i.e. doesn’t do things the hard / expensive way) and 2. Knows where to get help. Knowing the rockstars doesn’t hurt (they are nice folks and helpful) but it’s more an indicator that your developer has been to a drupal convention and stayed out late to buy a few beers than it is a magic ticket to a smooth web project.

    Lastly, it’s not drupal specific, but I would also ask about whether the developer has tackled sites your size… always good to know whether you are going to be their biggest account ever, or a tiny project that may get lost in the cracks for them. Either should make you ask yourself whether this is the right relationship.

    Thanks for a great topic!

  • 16 Chris Brody // Feb 9, 2009 at 2:13 pm

    As others have already pointed out, it’s really a matter of horses for courses. A long-time Drupal developer who has contributed multiple modules and/or submitted core patches might be a good fit for some projects, but could very well be the wrong person for a particular project. What most clients are looking for is someone who will engage with them and make the effort to understand their requirements. In my experience, the most proficient coders are not necessarily the best communicators.

    The multi-site question is a red herring — this may or may not be an issue for any particular project, and is in any case simple enough to set up.

    Questions 3 and 4 are probably over-technical for the average client, though they raise good points, which apply to any technology being used.

    Taking up references is of course essential for any potential IT service buyer, and having connections with top developers can be useful, but is by no means essential. Getting the job done is what counts!

  • 17 drupalhosting // Apr 23, 2009 at 7:54 pm

    Thank you for this great article boy it must have taken you a long time to write this. I found the image of the computers especially amusing. One thing perhaps is important is how good is the communication skills of the drupal developer you hire. Most drupal dev talk all day with their peers using so much tech lingo when they stop to talk to a regular person especially a CEO of a company neglect to get the vibes that your tech talk mystifies what you are trying to sell. Please take not to communicate using normal english and not intimate your potential clients by making it sound like you are some wizard that can perform magical skills. Make the human connection. Thanks so much for your time and ability to make a difference in the drupal community

  • 18 Stitch Technologies - Los Angeles Web Development // Mar 4, 2010 at 9:16 pm

    I have personally worked with a lot of “Drupal developers” on jobs in the past only to find out that they really didn’t know their Drupal. They knew php and mysql but they just didn’t quite “get” how drupal works. This is extremely good advice for any company out there trying to hire a Drupal developer. I can only hope that more companies find this post and use it in their job interviews.

Leave a Comment