Finding the right person for a job can be difficult, especially when you're hiring them to do a job that you don't know how to do. If you post a computer job on Craigslist, you're likely to get more than 50 responses. Trying to weed through them all can be hard, and I can't tell you how many times I'm the third or fourth programmer on a job because the last few couldn't get the job done.
That's why I decided to put together a page to highlight some things you can look for, so you can be a bit more informed on what exactly to look for to get what you need. There are some things that I think will really help you as you look for a person to build your website.
Web Developers aren't necessarily Programmers.
There are a ton of great systems out there that allow people to build pretty decent websites without an ounce of programming knowledge. Programs like Dreamweaver and systems like Joomla, Wordpress, and Drupal allow people to build websites without even touching the code. There are thousands of modules that allow developers to build sites with basic and advanced features without knowing anything about programming.
This isn't bad, you should just be aware that someone who doesn't know how to program won't be able to do those extra customizations. If you want a site that is a bit out of the box or don't want to be limited by “technical limitations,” you should seriously consider a programmer over a developer.
Programmers usually know how to use the modules that you'll see a developer use, but they'll use them as building blocks to speed up development so you can have a great site without having to reinvent the wheel. I personally believe that using these great systems enables me to do about 80% of the work without coding, so I can charge 20-30% of what I would charge if I had to build the site from scratch, without sacrificing any quality.
Hourly Rates
What many people don't understand about hourly rates is that they reflect skill and speed. That's not always true, since people get to set their own rates, but an unfair rate can only last so long. There is a good chance that a person who charges $100/hour is 10 times faster than a person who charges $30/hour. Someone who charges more will know more and work much faster. Despite the fact that they may charge more per hour, it may actually be cheaper for you to go with someone who charges “more.”
Not only is speed an issue, but experienced programmers put out better code that will allow your site to be more flexible. They'll be able to anticipate problems you might have, so you'll end up with less bugs. Experience also means they can find bugs that you do have faster, rather than spending hours digging around code for a small problem that's unfamiliar.
Modifying Code vs. Modular Development
Modular by design. Most open source systems are designed to be modular. This means that the system can be customized by adding modules that do various things. These systems are designed to be enhanced using modules, and allow a knowledgeable developer to take advantage of many of the system's functions. This allows programers to create custom modules quickly, without the need to rework the basic functions. Systems like Joomla and Drupal do a lot to keep the system flexible and efficient, by taking care of smaller functions.
If a programmer isn't experienced with a system, they won't take advantage of functions that will speed up development. Even though they may charge less per hour, they may end up taking longer to complete a task. Because they don't take full advantage of the system, this also means that your site will not be as flexible and efficient as it could be. Most of these functions keep your system more secure and allow it to be transported across multiple servers.
Modifying core code. It is a common practice among inexperienced developers to modify core code. They also are more likely to build a system that will work in one situation, but if anything ever changes, most systems will break. Such changes are short sighted and will often keep you from adding new features down the road. This also means that your website may not work on a different server, and that you cannot do security updates to your website. Since security updates are published on the web for open source solutions, this takes out the guesswork for a hacker who may want to attack your site.
Consequences of inexperience. Many times an inexperienced programmer will not be able to complete a job. Aside from the wasted time and money of switching programmers, there are other problems. If the initial programmer did not code correctly, you will likely have to scrap their code and start over. If there are errors in their code, or if their code is not well documented, or if a new programmer cannot find the custom code, or if it is not complete, it is hard to pick up where they left off. It will probably be faster to start over and do it right.
Experts
Better programmers know more, so they can get the job done better. They'll build systems that will last longer, as opposed to growing outdated in just a year or two. They'll build better security, so your users will be safe. They'll also likely know the best practices for SEO (Search Engine Optimization) so they can help your site do better, by default, without spending extra money to optimize it. No one builds a site and doesn't want it to do well in search engines. It's worth going with a programmer that is up with the times.