Lullabot Ideas
We know stuff. We empower you to know stuff too.
How to Hire a Drupal Developer
Article by Seth BrownMay 26, 2011 - 8:00am
If you think a good man is hard to find, you should try looking for a good Drupal developer! The competition is fierce for experienced Drupal developers, and as Lullabot's development manager, the task of tracking them down usually falls on my plate. Athough Lullabot's status in the community helps us to attract talented individuals, it's still a challenging process. Here are a few things that I look for in Drupal developers, and the resources that I recommend to our clients when they're looking to add some Drupal muscle. Hopefully, this advice will also be helpful to individuals who are looking for a job and want to stand out from the crowd.
Separating the Wheat from the Chaff (or Who To Interview)
At Lullabot, I often have the enviable position of having a large and talented pool of applicants. This is definitely the best problem to have in the hiring game. But what if you only had time to look at three (okay four) factors about each candidate? My four would be...
First: Education
I always look at the applicant's education. A computer science degree from a reputable college or university is hard to replace. Even though most Drupal developers won't spend a lot of their time thinking about design patterns, writing machine code, or doing calculations in binary, they will have to consider things like orthogonality, decoupling, OO principles, etc., if they're going to ascend to the level of an architect. Experience can fill in a lot of these gaps for the liberal arts graduates among us (English), but it's a huge plus if your candidate has a computer science degree. If they have a dual-degree in Fine Arts and Computer Science, stop reading this article and hire them immediately. For project managers, look for PMP certification or Scrum certification, plus a ton of experience to back it up.
Second: Experience
There is no substitute for Drupal experience. I was able to pass the Zend PHP certification test after a one-week course: It gave me a passable knowledge of PHP, but didn't prepare me for Drupal as a framework. Trust me: you would not want to have hired me as a Drupal developer immediately after I passed the Zend certification! PHP experience, even years of PHP experience is great, but it doesn't substitute for Drupal experience, and the best Drupal experience comes when developers participate in the community and contribute code back to the Drupal project.
Some of the obvious things to look for are participation in Drupal.org's issue queues and discussion forums. If they maintain their own modules or other projects on Drupal.org, you can easily see the quality of their code and how they work with other developers in the community when issues arise. High levels of engagement with the community also mean your applicant is likely to know and follow best practices and will be more plugged in to the architectural mores of the rest of the Drupal world. And that means their work will be more sustainable and understandable to Drupal developers that come after them.
Our application form asks for a developer's Certified to Rock score; it's a web application that attempts to track each Drupal.org user's activity in issue queues, their activity with local user groups, how long they've been participating on Drupal.org, and so on: the very things we look at when we're examining how engaged with Drupal an applicant is. Although it obviously can't tell us everything about an applicant's involvement with Drupal, a reasonable CTR score immediately tells us they are involved. In my experience, anything above a 2 or 3 is a great sign.
A great candidate will also have been working with Drupal since 4.7 or 5: they'll have seen a few versions come and go, and are far less likely to be surprised by the complexities of major Drupal upgrades. Finally, look to see if they've had to deal with enterprise sites. Candidates with enterprise experience will have more knowledge of proper code promotion and deployment practices, as well as the ins and outs of scaling Drupal effectively.
Third: Writing Skills
Does their cover letter indicate that this person is a good writer? When evaluating PMs, there's no substitute for a writing sample related somehow to requirements, whether a Software Requirements Specification, Vision Document, or a collection of user stories. Good writing derives from clear thinking, and it also indicates an attention to detail. This is a good thing in a programmer, and an essential quality in a PM or themer. Seeing lots of grammatical errors and misspellings in a cover letter should be an instant disqualification. I know only one person who is somehow an exception to this rule, and, he may represent one of the best hiring decisions I've ever made.
Extra Credit: Video
Ask for an optional introductory video from the candidate, describing why they want to work for you. I find this is a great way to get a first impression of what your candidate might be like, and it only takes 2-3 minutes. Tons of intangibles are conveyed here, and it's a great way to see if your candidate has a sense of humor, and a creative approach to problem solving, in this case, the problem of making a video for their potential employer. Candidates that don't want to take the time to submit a video, may not be as committed or interested in the position.
Not So Much Wheat?
But what if your problem is not enough applicants? We get asked by a lot of our clients to help them drum up skilled developers for their projects. In addition to the usual networking tips, Drupal.org provides a couple of useful tools:
Lists of Available Talent
Hosting and professional services: This is an exclusive section of the handbook that lists individuals and companies with a track record of involvement in the Drupal project. These folks tend to be among the best, but also among the most expensive. This is not the place to look for a permanent, salaried employee. More on that later.
Available for work list: A more open list, this is a table of all Drupal professionals who've announced that they are available to take on work. Areas of expertise are listed, along with availability, and types of projects that they specialize in. This is a good way to find developers to work on a short-term project, but not the best place to find full time employees.
If you want to know if an individual person is available -- for example, you need some bugs fixed in a particular module, and, sensibly, want to hire the module developer to take care of it -- look on their Drupal.org profile page for a link that says "I provide Drupal-related services". If so, you can click the "Contact" tab on their profile to send them an offer. A list of all users who've self-identified as providing Drupal services is available at http://drupal.org/profile/drupal-services. (There are over 4,600 in the list, as of this writing.)
Drupal consulting mailing list: This list is for Drupal freelancers and shops to share best practice advice with one another. Occasionally RFPs are posted here, as well.

The #drupal-consultants IRC channel on irc.freenode.net, if you want to hire someone who's online at 4am on a Saturday. ;) This channel tends to be populated by freelance developers and representatives from Drupal shops, who can speak with you in real time about your project.
Places to Post Your Job Openings
If you're looking for a full-time employee, you should post a job listing to fill your position. While posting on major Internet job boards such as Dice, LinkedIn, etc., can be useful, Drupal.org's own job board section is an excellent way to reach a targeted audience of Drupal professionals.
Drupal.org has two main places where jobs may be posted:
Paid Services forum: Normally for smaller, short-term jobs, or even one-off "$50 if you can solve this bug" type of postings. Nevertheless, more formal job postings also get listed there.
Groups.drupal.org Job listings: These are for more formal job openings, and they're generally targeted to a specific geographic area. You can enter specific information here about the job, such as whether it's part-time or full-time, and whether telecommuting is allowed.
In both cases you'll need a Drupal.org account in order to post. There are also some helpful instructions on writing a useful job description in the Drupal.org handbook.
To post a job listing to the Paid Services forum:
- Go to the Paid Services forum.
- At the top, click the "Post new Forum topic" link.
- Fill out the "Subject" field (ex: "Company XYZ seeking Drupal themer") and "Body" fields (the job description). All other fields may be ignored. When finished, click the "Save" button at the bottom.
To post a job to groups.drupal.org:
- Use the groups browser at http://groups.drupal.org/groups to locate a group in your area. For example, Portland, Oregon or Western Colorado.
- Click the "Join" link in the upper-right corner block. Click "Join" on the confirm screen. Repeat for each group you'd like to send the job to. Make sure not to post jobs more than 4 groups!
- In the upper-right corner block, now click "Create Job".
- Fill out the fields appropriately. You can ignore the "Sitewide tags" field. In the "Audience" field, you can use control (or command on Macs) + click to select multiple groups to cross-post to.
- Once completed, the job should show up both in the local group(s) (ex: http://groups.drupal.org/portland) and also on the global job listings page at http://groups.drupal.org/jobs.
Within your job posting, ask candidates to post their CTR score, and provide their Drupal.org user profile URLs. It will help weed out people who aren't reading your listing, and will also be immensely valuable in making sure that what they say on the cover letter matches real life. Applicants who don't have Drupal.org accounts or CTR scores may still be great hires with plenty of Drupal development experience, but you'll have to do a lot more leg work to vet their skills.
Evaluating Potential Candidates
I already discussed the importance of community involvement earlier, but it's worth delving a bit deeper to explain how to find useful information about a candidate based on their community engagement. Even if they have a "rockstar" score on CTR, you'll want to find out why!
Things to look for on a user's Drupal.org user profile include:
General information
The easiest indication is how long they've been a member of the Drupal community: Drupal.org tracks that automatically. Users can also fill out their own bios with information about their own skills, whether they help with user support and writing automated tests, what Drupalcons they've attended, and so on. A profile with lots of these indicators can mean that a user has a great deal of experience in the project, or it could mean that they read this article and checked a bunch of boxes to make themselves look good! Always follow up with some real research, such as...
View their Site Activity
Every post or comment ever posted by a user on Drupal.org gets listed on their "Track" page, for example http://drupal.org/user/26979/track.
By spot-checking a few of these you can get a feel for a number of things about the candidate:
- Do they seem knowledgeable and helpful? Over time, good Drupal developers be helping others in addition to seeking solutions to their own problems. That means they understand what they're doing, and they're more likely to get assistance from others when they need it.
- Do they work well with others? Are they polite, collaborative, and responsive? Or do they speak negatively and get embroiled in conflict?
- Are they consistently active? Was their last post 2 years ago, or 2 days ago?
- How wide is their breadth of knowledge on Drupal? Do they participate in several projects, or do they stick to their own corner?
If you see lots of book pages in someone's activity, they probably help in the documentation team. If you see lots of project issues, they're involved with finding and fixing bugs, or requesting and developing new features.
If you see nothing on this page at all, or fewer than a page or two of results, consider it a red flag. It means they haven't been around long, or haven't put down roots in the community. People without Drupal.org profiles are generally much less connected to the broader Drupal world, may not be as well-versed in best practices, and will have fewer established relationships inside the Drupal community to draw on when tricky problems arise. As we've said before, there are always exceptions -- brilliant developers toiling away in the shadows, outside of the community -- but you'll have much less to go on when verifying their skills.
Review their code
Every Drupal.org user profile displays a list of projects that user has "commit" access to, and how many code changes they've made. By following the links to the individual projects, you can take a closer look at what they've been working on. If we wanted to check up on Earl Miles, for instance, our mysterious user 26979, we could go to the Views project home page and click on its Repository viewer link. Scroll down to the "Heads" section, pick a version (7.x-3.x is the latest at the moment), and click the tiny "tree" link. Shazam! Instant code review.
Even if you can't immediately understand all of the complexities of the code, does the overall form feel organized and coherent? Is it well-documented? Can you read through the comments and understand what's going on? Another item to look for is adherence to Drupal's coding standards; it tends to indicate an attention to detail and an understanding of community development conventions.
Drupal.org also adds a handy "track code" tab, like the one at http://drupal.org/user/26979/track/code, to user profiles. There, you can spot-check individual commits across all of their projects to see what kind of code they're checking in over time.
Conclusion
Obviously, there's more to hiring someone than writing up a decent job description and clicking a few links as a background check. Hopefully, the tips and tricks in this article can augment your normal HR processes and help you snag a great Drupal professional. If you're currently looking for work, hopefully the tips in this article will show you where to advertise your availability, how to show off your Drupal knowledge in a way that benefits the larger community, and how to prove to potential employers that you know your stuff.
I'm Allergic to Wheat!
This link is also helpful if you need a laugh after all of your searching... It is not, however, PG rated.
Thanks to Angie Byron (webchick), formerly of Lullabot, for contributing a lot of the research, and writing in this piece.








Comments
Myself hate projects list on
Myself hate projects list on profile page with commits count. You easy to misunderstand it. You can commit single line of code each time and commit others works.
for me, I have working for modules/core. but showing nothing in my project because I'm not the maintainer. Sometimes, it is really bad thing to me.
Well...
As someone who:
1. Scored only a 2 on the "Certified to Rock" nonsense
2. Failed the only CS course I ever took (and ended up dropping out of college)
3. Would never, ever send in a video about how much I want to work somewhere
I have to say I can't agree with your methods. I'm a good developer, have been with Drupal since 4.5, and routinely work with Fortune 500 companies and high-traffic conventional media producers. One of my coworkers has contributed several modules with high utilization rates, and is pretty kick-ass. He only scored a 3 on the "Certified to Rock" meter.
If you're looking for people to hire and use this system as a "hard" guideline, it's only going to reduce a potential employee's interest in your company.
What you really need to do is try to be interesting. As Angie mentions, there is a LOT of competition for talented developers. They're not going to even send you a resume if the stuff you're working on is crap. Money is also a factor - if you want to hire the best in the industry, you certainly can't offer them $40k a year. And don't even think about saying something like "You'll get shares in the company and will make TONS of money once we launch our Facebook competitor!"
Post on the job boards, and hang around in the chat rooms. Tell people about what you're doing and make them -want- to come and work for you. You won't have any problems finding people then.
Excellent points...
And I think the issues you bring up are why we make clear that a Certified To Rock score isn't some sort of "gate that developers must pass through." It's just a useful tool for quickly measuring the kind of community engagement that we find correlates very strongly with long term success on tricky Drupal projects. It's still very important to follow up and discover why someone has made a big splash, or why they haven't shown up on CTR's radar.
Having helped clients during their long searches for good Drupal talent, I can say that it is much trickier to decide if someone is throwing out "resume fodder" Drupal buzzwords when they have no publicly visible work or presence in the community. Being engaged and involved in the community isn't a direct indicator of talent, but it makes it much much easier to assess someone's skills and experience, because they're visible to everyone.
>>Tell people about what
>>Tell people about what you're doing and make them -want- >>to come and work for you. You won't have any problems >>finding people then.
This single point is the key to drawing in great candidates. It's the same point that Lou Adler makes in 'Performance Based Hiring', which by the way, is a fantastic read for how to hire and might really help the 'bots or any agency doing any kind of hiring.
As someone who once ran a drupal agency, I wish I had something like this post or this book to guide me when I made my hiring decisions.
Agree with the above. I
Agree with the above. I haven't contributed much to the community (I know, I should give something back, but that's a separate point) but have spent the last 4 years working on complex sites under a lot of pressure for big clients. The last thing I've wanted to do is then develop a module in my own time, and there's been no time to do it on company time.
My past results (and code) speak for themselves, but drupal.org won't tell you that.
Traditional search techniques apply
In the kinds of situations you're talking about, traditional job recruiting techniques are the only solution for companies that need talent. The evaluation process is also a lot closer to traditional interview/evaluation methods. The code may speak for itself, but it's invisible to everyone but your current employer: that's definitely a conundrum.
Indeed. Ironically I just got
Indeed. Ironically I just got an email triggered by a reply to a comment I made on drupal.org. So I'm not completely invisible!
Developers versus Drupal Ninjaz
Another word of advice; try and leverage drupal's core abilities, and research appropriate modules for your project. I'm afraid articles like this make it seem as if you need a computer programmer, with Java, C# and O.O. php chops, to kick out a drupal project. Alot of coding done within the drupal framework is un-necessary and performance reducing. Perhaps this article needs a preface: When to chose to design in drupal and when to chose to bring in coders to modify the core application. If you understand how to harness the power of Drupal you won't jump in to coding and adding a bazillion modules to your site without reviewing available resources.
P.S.--certified to rock is problematic if it serves as a baseline of "who knows drupal" in our community -- to me it feels alienating. There has to be a better certification process!
Surveying Drupal web sites
It's a good idea to survey the work of several service providers to get a feeling for what Drupal web sites in the wild look like and how they function.
This list has links to portfolios with providers' locations:
http://www.listology.com/jwalling/list/drupal-showcases-and-portfolios
This list has links to case studies:
http://www.listology.com/jwalling/list/drupal-web-sites-case-studies
CTR and CS are definitely not the end-all, be-all
I should make amply clear that there are *incredible* developers out there without any CTR score, or a computer science degree. The best Drupal developer in Western Colorado was a "symbolic systems" major at Stanford, which included studying Greek, Latin, mathematics, and music, and I'm not sure if he even has a D.o account. But he has been working with Drupal since 4.7, so the experience thing still counts. Most of that section is aimed at folks, like many of our clients, who have tons of applicants, and they need a quick way to move through and select from among them. Often these people are stretched thin to begin with, and need some "key performance indicators" to look for to select interviewees. These are just suggestions. I should confess that many Lullabots do not have computer science degrees, and we're still good at Drupal ;-)
Some nice points - I like Comp-sci grads
The optional video thing is a little weird, but otherwise good.
I am a former Comp-sci grad and I think those of us who have been through such a program understand it's importance. I think it's fine to have some diversity of backgrounds but that being said, I have a strong bias towards Comp-sci grads. It is an easy filter for me to sift through the 'wheat.'
I understand this is a
I understand this is a general quick guideline, but you can't get exceptional people without exceptions. That's something I think anyone trying to hire should keep in mind.
Though I never much went to college after dropping out of high school, and am certain there have been employers who immediately tossed my resume aside because of this, I have to disagree that having a CS degree gives a person more understanding than those without. Exceptions, again. I'd say programming for 20 years far outweighs it.
My unrelated point is, though, with the lack of Drupal talent out there and everyone wanting to hire it, the one thing I see lacking on this list is passion. You don't need to have all the fancy papers, the awesome CTR score, a tiny little d.o user id, if you have the passion for Drupal. People just getting into Drupal, or those that never got too involved in the community-- they, too, can still have passion. And that's what really drives any developer.
certified to WHAT?
I work for a major drupal agency, and thereby have the chance to closely interact with some other very very good drupal developers while working for various major clients. We once talked about this certified to rock thing. None of us had very high scores. One guy has done over 100 drupal sites and client modules (!), and he ranked very low. The team-lead, who is an extraordinary well versed Drupal guru, was not even ranked. Judging from these results, the certified to rock meter is an utter failure. Sure, people like Dries, sun, webchick all score an 11, but Drupal is growing, and now everybody goes through the community channel anymore. Cheers, and here is to better metrics.
I feel like you are
I feel like you are completely missing the point of Certified to Rock.
Certified to Rock is not supposed to be a tool for ranking developer skill. It's supposed to be a rough gauge of community involvement. Doing 'over 100 Drupal sites and client modules' is not a useful data point for determining community involvement.
Before you call something an utter failure, you should spend a few minutes learning about what it's trying to accomplish. I recommend reading http://certifiedtorock.com/about-certified-to-rock-for-drupal and http://certifiedtorock.com/criticisms-of-certification-programs
There's also a podcast on
There's also a podcast on Certified to Rock that I did with Greg Knaddison and Ben Jeavons, they guys who wrote and maintain it.
Hungry?
It occurred to me that this is an overview of how Lullabot qualifies candidates, not how everyone should hire for Drupal projects. The title just doesn't communicate this. I feel about the same way with Certified to Rock. In a funny little way it's like naming a vegan restaurant "Happy Roasted Cow Cafe" and expecting a massive influx of hungry hippies.
Every company has a unique culture that needs to be effectvely communicated through the hiring process. Some shops require intense interaction with the Drupal community, while other business models would be foolish to embrace community involvement. Both are equally valuable in their contributions to the greater Drupal community. Allowing ourselves to think otherwise is a very dangerous mistake.
Amen
Treated as guidelines, I agree with most of these proposals. I would actually say the most important is a person's "Drupal track record". There are lots of ways to measure that; CTR number is a shorthand that touches on only some of it, but there's way more.
There are a number of Drupal people I know that don't have much module activity at all, but they do have a book or two to their name. Or they have presented at a number of DrupalCamps. I'd hire them in a second (and in a few cases, did). You may have to dig a little to find some of it, but knowing that someone has been around the block a few times, whatever the block, is very valuable.
I would also note that a CS degree on its own is only somewhat useful. Experience is also only somewhat useful, in a different way. Both are valuable, but offer different benefits. Ideally you want someone with both a CS degree and a few years experience. It also doesn't matter if it's unpaid experience. Someone who has a few years experience working free on an open source project, even a small one, is more valuable than someone who has only 3 months experience in a commercial environment.
This is a very practical list of guidelines
for an organization that has recently moved or is in the process of moving to Drupal, needs an in-house Drupal dev, but doesn't know where to start. (Note the phrase "our clients" mentioned several times). We often see mistakes made in hiring by clients that this checklist would help prevent.
If you are a Drupal ninja, I wouldn't get too tweaked over CTR or degrees or even community involvement: you'll be hired and judged based on your code and your professionalism, end of story.
Ain't it a bit unfair to
Ain't it a bit unfair to expect someone overseas to speak english like a native?
Good point...
Durok,
Absolutely, I agree, but again, this is mainly directed at our clients, who are usually large media organizations hiring people to work in their offices stateside. I have seen many ESL successes in these companies. I think there's an intangible quality to writing that reflects how someone thinks and their personality that transcends grammar, punctuation, and, sometimes, even syntax :-). Certainly I make allowances if I'm looking at a candidate for whom English is a second language. Dios mio, I wouldn't survive long if I suddenly had to function in Spanish in a professional capacity. At Lullabot we've worked with an outstanding Argentinian programmer before, and he sometimes struggles to be understood on calls, but his written English in email and on IRC is flawless.
Context
I think most of us would agree with you if we personally hit all the criteria you posted, which would all but guarantee a rockstar. And don't we all want to be the best?
For many in this rapidly evolving world/web/technology, the road to Drupal probably wasn't a clear path. I myself have a PhD in a totally unrelated field, but I landed here anyway and its been a relatively smooth transition. Am I a good or a bad choice then? It's a matter of due diligence of course, but I would hope to not get screened out prematurely! But I would totally understand the position you're in.
I'd summarize as follows: use criteria to screen, but context to decide. Both are critical in the formula.
Articles
It is a good article and it is more informative. Is drupal is any programming language? I don't know mean of Drupal.I searched in net contains more information..
------------------
Arrow