It doesn't matter which field you work in, there are thousands of people claiming that they are the 'experts' in it. The field of Drupal Development is no different, and there are lots of keen and talented people out there. How you go about finding a genuine expert who is passionate about Drupal and open source, rather than someone just pretending they are, is rather more challenging though!
Over the years, we have hired some incredible talents to work with us at Alpha Web Group. During this time, we've learned a thing or two about how to identify the real experts. Here are some of the questions that we ask, and if you are looking for a good Drupaler, then so should you! These questions are designed to be answered by experienced developers, so of course if your prospective developer can't answer them, look somewhere else!
Question 1: What are Drupal Distributions?
A developer who knows his stuff, will be able to give a short but full answer to this. It should be something along the lines of saying that Distributions are basically copies Drupal. These copies should include Drupal Core, modules, themes, and libraries. The purpose of Drupal Distributions is to learn, evaluate or bind a site.
Question 2: What version control system do you use to manage your code?
Most projects of any size will need a team working on it. A good developer will know that they need to use version control software in order to keep track of the edits which have been made by different people as the project moves forward. This reference point is often referred to when changes of direction are needed, or to even stop two people in a team doing the same job. Keeping version control as a Drupal Developer is absolutely vital, and is a good sign that a developer knows their job well. If an 'expert' doesn't know what version control is, then stay away from them – If they run into problems, the site development may be drastically delayed.
Question 3: How does the Drupal database system function?
This is something that will reveal if the developer is strong with the basics and understands the building blocks of Drupal.
A Drupal Database stores information, and each piece of this information comes with a specific database table. As this sounds like it might be a standard answer, you could go further with the question, and ask the developer to give an example of it in action. This will make sure that you are confident that they know their stuff.
Question 4: Ask for the best practices he/she follows prior to sending the site for production?
One of the challenges of working on projects, is that things do not always work smoothly, and that unexpected outcomes should be prepared for. A good developer with experience knows this, and should answer that they would never send a site for production without fully testing it in a staging environment. They should even come up with a list of things that they would and wouldn't do, similar to a flowchart, which indicates they work to a regular, tried and trusted method.
Question 5: How are the challenges involved in migrating Drupal custom modules overcome?
Migrating old sites, and incompatible systems is something that anyone involved with Drupal will have to face at some point. It is certainly not without its challenges, but Drupal has a good community and incredible documentation to aid in the process. A developer should be able to combine this, with PHP knowledge, and an understanding of the field and class structures to migrate custom modules. Once they answer this, ask them to elaborate and explain further. This is especially important if you are trying to migrate an old site to begin with, but also of importance if you have an existing Drupal site which may have unique modules installed.
One doesn’t have to be a pro at Drupal, but a basic PHP script writing is essential. Another important point is a very good understanding of the source data and, specifically, the destination schema. Again, you could ask them to elaborate with an example.
Question 6: Have you worked with any platforms other than Drupal? Why?
It is important to work out if the developer knows and understands what other platforms are out there, and how they can be used. A well informed developer will be able to cite what each one is capable of, and the main differences between platforms such as Drupal, Joomla and Wordpress.
- Drupal – If there was a 'one size fits all' option, then it would be Drupal. The platform is supported by tens of thousands of contributors, who continually add modules, tweaks and updates to make it function better. It is easily customised, and very flexible. Best of all, it is suitable for smaller sites, right through to larger sites with thousands of pages. Making the decision to use Drupal, means that no migration from another platform would be needed later. This is ideal for businesses who are keen to allow for expansion.
- Wordpress – This platform is great for smaller websites, and is also very popular with people who want to run blogs. What it lacks though, is the ability to cope with larger sites, which means that businesses who want to expand their website later, will eventually have to migrate to Drupal.
- Joomla – This is another CMS which has many similarities with Drupal. It is used in websites which want to specialise in e-commerce, but it does lack some of the amazing support that Drupal receives.
There are of course plenty of other questions that you could and should ask a developer you are considering hiring for a Drupal project, but these are the main ones which we use ourselves. It might just be easier to get in touch with us at Alpha Web Group directly though. We have the developers, experience and passion to see your project come to life. Contact us today, and we can arrange to discuss it further!