Please add your own questions to this discussion!
It's only through educating people about how to pick the right developer (so they can avoid choosing one that will ultimately scam them or provide them with an inferior website) that we can prevent Drupal from getting a bad name. I see people getting the short end of the stick all the time in the paid services forum, on message boards and on blogs, so I had one of our engineers (Kenny) put together this list that people can use to weed out developers:
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 submit patches to the Drupal core?
* 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 submit patches, themes, and modules. If your development team has their own accounts, and they have contributed to Drupal, it’s a good sign they are the real deal.
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 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!
[Edit: Moved to general discussion as this is niether news nor an annoucement.]
Comments
What is your preferred place
What is your preferred place to find these developers?
- Victor
Search Drupal.org | Lamingo | Tax India | Drupal Jobs | FPGA
* Do you have a CVS account
Anyone can submit patches to core, which doesn't require a cvs account, so I assume you mean 'commit'--
and since only Dries plus 1 major version maintainer per version ever gets this ability, that will greatly reduce the number of developers in your pool. ;-)
===
"Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Lao Tzu
"God helps those who help themselves." - Ben Franklin
"Search is your best friend." - Worldfallz
Great clarification on CVS
This was a good clarification from the blog comments that will really let people separate developers:
"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."
.
Interesting article, but I have a couple nits:
"Do you have a CVS account with the ability to submit patches to the Drupal core?"
Anyone can submit patches. You only need a cvs account to commit patches. And only a handful of people can commit to core, generally 2 per major version (Dries and the branch maintainer).
"Do you have working examples of a multisite installation of Drupal that we could review? "
Multisite is handy but there are cons to it as well. I rarely use it and prefer to keep seperate sites. This isn't lack of knowledge on my part but rather a choice made after trying both ways.
Michelle
Michelle
--------------------------------------
See my Drupal articles and tutorials or come check out life in the Coulee Region.
Multi-site
The multi-site question is an important one if you are planning on doing a multi-site installation.
Drupal Web Development
The multi-site question is
... And it is totally irrelevant if you are not.
It may have been important to you at one time, but most single-site clients do not need or want to have anything to do with it.
All knowledge is useful, and I'd expect a good developer to be comfortable with the concept of multisite, but not having a set in their portfolio wouldn't make them a bad developer.
Much more important to me would be their ability to handle dev-staging-live deployment. Developers who have only ever built locally (or only ever remotely) need to also have the skills to release a site and make later change-control updates to it. But that's another skill. It's related to, but deeper than the source-file version control.
Overall, a good enough set of tips.
Touching on their visible contribution to the d.o. community is something I agree strongly with (although as the others have mentioned - expecting core commit rights is a bit rich)
As an article, it's a good addition to the existing tips for hiring a Drupal developer
.dan.
if you are asking a question you think should be documented, please provide a link to the handbook where you think the answer should be found.
| http://www.coders.co.nz/ |
.dan. is the New Zealand Drupal Developer working on Government Web Standards
The multi-site question is meant for multi-site lol
If you're considering a multi-site installation, then it's an important question. If not, then obviously you don't need to ask it.
"Multisite is handy but
"Multisite is handy but there are cons to it as well. I have only used it once (on our current project), generaly I prefer to keep seperate sites to a seperate codebase. This isn't lack of knowledge on my part but rather a choice made after trying both ways."
I agree with Michelle. It's handy but if you are a shop specializing in drupal, odds are that you have many projects built on drupal, for many clients, hosted on different machines with heavily customized themes / modules. Even if you had several sites belonging to one client, if each site is heavily customized doing a update on the main codebase may work on some of the sites which keep to a reasonably generic / template configuration but may break those sites with a bit more going on.
I agree with the idea of asking the developer questions about the api but then the user also needs a understanding of the api to decide on the answers they get back.
With my current usercase where we are using multi site, it does work very well, but I'd say it's not a common scenario, or hasn't been a common scenario yet. The client wanted to click a button then have the exact same site skeleton reproduced with the ability to adjust logo, colour, text and have a separate user account. After developing the initial template it was a case of a simple php page to call a bash script and we could have as many sites as the client wanted as subdomains and themed as seperate entities but all with a common functionality / site map.
So far, and after visiting the local Drupal user group a few times I'd say if you want a drupal developer the 2 things you need to look at are
1) Portfolio, existing drupal sites. What have they done? custom theming, custom modules? or a garland theme with a few changed colours? Also do all the sites look the same or are each one different in design / functionality. If you struggle to tell a site is built on drupal or have to look hard you know your developer has put in a bit more work than downloading a theme + modules.
2) Strong PHP, MYSQL and prefably Linux skills if deploying on a linux box. There are many people who can put a basic drupal site together without knowing php, thats fine but don't confuse them with a developer. If you want a professional site you need to know php and understand design patterns etc. You won't get a bells and whistles site without a good php coder, you will get a generic drupal site confined to the current module builds unless your developer can build upon the current modules and glue them together.
A observation is a good designer works well with a good developer if you want a functional and pretty site. Developers are great at xhtml/css, php. mysql but without a template in front of them and designer to point out bits of the template not quite done right you will always have a functional design but missing the bits which make it stand out from the rest.
Another thing to keep in mind, everyone wants the next ebay or million dollar homepage built for £100 or as little as possible with a 2 week deadline. You pay peanuts you get peanuts. Have a realistic budget / timescale if you want a good product at the end. It also helps when you approach a developer as a client you know what you want and how you envision it working with a clear detailed spec. Not build me a website like Foobar.com, the build me a website like ............. scenario never ends well
How silly of me
Until I got to the last paragraph I did not realize this was an advertisement. How silly of me!
How not to get ripped off.
Yeah, it's an ad for how not to get ripped off lol
Arbitrary
#1. I don't get how contributing to Drupal development, makes you any more competent (from a clients perspective).
#5. How will this help? Contrary to popular belief, #drupal is not a channel with people that work for free.
There's a grey area between ham and spam. Please don't stray into the dark.
--
The Manual | Troubleshooting FAQ | Tips for posting | How to report a security issue.
Response from the Original Author
Since I am the original writer of these questions, I should comment here on a few items. First of all, my apologies, the marketing droid who rewrote the questions as an article didn't understand the language. The question was supposed to read: "Do you have a Drupal CVS account with the ability to contribute to the Drupal project?" Meaning modules as a maintainer or as a creator of one. Not to submit patches to core. Obviously, as many state, this can be done by anyone with web access and a text editor.
I will discuss specifically point #1 above by Heine. There are far too many independents (and not all, mind you) who would claim they are Drupal ninjas. By contributing to the project, your competence is automatically improved given the day to day "in the trenches" nature of writing code for clients (in Drupal) and the community. As we just proved, the criticism by the community on your code and or opinions only seeks to make you a better developer.
Also, in relation to point 5, we are not referring to IRC channel access. We are discussing active business relationships with key module maintainers. For example, you want something done in a module, its often more productive to be able to just call the maintainer and have a personal conversation and discuss compensation for the maintainer (to your point that we don't work for free).
We love the commentary. Keep it coming. :) We intend to revise based on your comments and move it to the handbook.
Kenny S.
Developer by day, entertainer by night.
www.webkenny.com
Proud member of the CommonPlaces E-Solutions team.
www.commonplaces.com
Kenny S.
Follow me on Twitter