How to Hire a Website Developer (if you're not technically inclined)
Perhaps you're looking to upgrade a website. Maybe build a brand new one. Chances are, you don't know how this work is done. It's like choosing a car mechanic when you can't tell a rotor from a piston. How do you find someone trustworthy?
When my car needs repair, I cross my fingers. But software development I know something about. This advice should take some guesswork out of your decision. Here's what you do...
- Find several qualified candidates. Perhaps by describing the work on craigslist or similar on-line resource.
- When you speak to a candidate, describe the features you need in as much detail as you can. If you have a design in mind, share it. He or she will probably question you for more detail. If the developer thinks of things that you have not, it's a good sign.
- Request a bid or estimate. If a developer offers a fixed bid, be sure they have a solid understanding of what the website must do (in writing with the quote). Will the developer be available for additional features and bug fixes, after the site goes live? How much will this cost?
Hopefully, you'll have a sense of how well you communicate with the candidate, whether they are interested in your project, and whether they are in your price range.
But you may have no idea how technically competent the candidates are. Or no way to distinguish between two similar bids. Here are the questions I would ask any candidate, and why I think they are significant...
-
What content management system do you use?
The term content management system means different things to different people. Ask this question not because one CMS is best, but to learn whether your prospective developer uses one. If they don't, or you get an ambiguous answer, that's a bad sign.
With a modern content management system, a single developer (or small team) can produce in days or weeks features that would have taken many months and much more money a few short years ago. It's truly incredible the software that is out there, in many cases available for free. Here are some reasons why starting from an existing system is better than developing from scratch:
- Community - If there's a bug or security hole, someone else is likely to find it and be interested in fixing it.
- Advanced Features - A system that has been around for a while will be able to do more than what your developer can build just for you.
- Scalability - If it satisfies the needs of many other sites, it will likely satisfy all your future needs.
- Reliability - There's usually a reason why developers continue to use it.
So which system is the best? There is no answer. The one your developer believes in is the best one for him/her. My personal choice, Drupal has a proven track record (i.e. lots of sites already use it) and a large community.
What source code control system do you use?
If you're dealing with an individual developer who does not use source code control, that's a bad sign. If you're dealing with a team (two or more people), it's a red flag.
These systems track every change made during development. If a bug is introduced, it can be backed out. If the code is ever transferred to another developer, its entire history can be preserved. But most importantly, if two or more people are making changes, they cannot accidentally erase each others changes.
Also, source code control makes it easier to maintain multiple versions of a site. For instance, your developer can run a copy on his/her machine, and host a "staging" copy where you can test changes before they go live, all in addition to the "production" copy. If your developer cannot provide a staging copy where bug fixes and upgrades can be tested, look for another developer.
My personal choice is subversion. It gives me control over which projects collaborators are able to view and make changes to.
How will you license the software to me?
Think about all the ways you plan to use the website, and make sure the license does not restrict you. Most important is that you can take all the source code to another developer, should you ever have to. You need to continue to use, and modify, the software even if your relationship with the current developer ends. If your company has more than one division, the right to host multiple copies of the website may be important to you. If you're in doubt about licensing, seek professional legal advice.
You may expect that you will own the software outright. After all, you are paying to have it developed. However it is usually not that simple. If the developer uses a CMS, or takes even a small portion of the software from another source, then that portion will have a license and some restrictions. You may end up with several pieces of software, each with a different license, and this can get complicated. If a developer can give you exclusive rights to an entire product, you will be paying them to reinvent the wheel.
When a CMS is used, you could arrange exclusive rights to any modifications/additions your developer makes. However this is not always wise. In many cases, portions of a project could be contributed back to the CMS. Doing this encourages a community to support and enhance the software, leading to a better product over time. It can also lead to positive publicity for your company or website.
I prefer to release products under the GPL2 license. This is consistent with the CMS I use, so all the software is under the same terms. I make considerations when a client has specific intellectual property needs.
What are my hosting options?
Many developers will offer web hosting. If they require that they host the site, beware! They may be charging a high price. And if you are ever dissatisfied with them, it will be difficult to move the site elsewhere. Make sure your developer is up front about any additional software required to support what they build. In the years to come, you may want to upgrade to higher quality of hosting, or even host the site on your own machines.
My sites require readily available versions of PHP, MySQL and Apache. So my clients can use the majority of web hosting services.
Will you outsource any of the work?
There is some chance your candidate will subcontract or outsource all the work to someone else. Make sure this does not happen without your prior consent.
Which browsers do you support?
There are quite a few browsers out there. Even considering just the most popular ones, there are older and newer versions. Is it important that your site look good in IE version 5? Probably not, but make sure your developer's answer matches with what you need.
Consider that, if the site has javascript or flash features, visitors without these features may have trouble browsing the site. It's possible to use these features when possible, while presenting well to browsers with these features disabled.
Don't believe that your site will look the same on all browsers and all operating systems. There will be some differences, even if it's just a pixel here or there.
There you have it. My list of questions that should be asked of any candidate developer, but most people would not think to. I hope it helps.

