Ask to see some of the developer’s finished work. Before you start evaluating, make sure you understand the parts your prospect worked on. Spend some time to explore their project. Make notes of what you like and don’t like. Maybe they built a web app that’s really fast, but it places some odd constraints on the user’s password. Ask them what led them to make those decisions. Any sort of software development, whether it’s web, mobile apps, or desktop is a game of finding the best compromises. Hearing the various trade-offs a developer was faced with and their approach to solving the problem is extremely valuable in assessing how they will address problems your project will encounter.
From the best practices to the actual technology used, software development changes at a rapid pace. If you end up with a developer who is stuck in the practices and tech of 10 years ago, you’ll miss out on tools and techniques that could make your project better, faster, and easier to maintain. Ask prospects how they learn new things and what is the most recent thing they’ve learned that helps them in their development. What did they gain from learning it? What’s the next thing they would like to learn and why? Even if you aren’t familiar with the specifics of their answers, you can get a sense for how curious this developer is. Too much curiosity can lead to projects being built on experimental, unproven foundations, but, in general, a curious developer can bring more to your project.
Communication can make or break a project. Make sure the developers you work with are willing and able to communicate in a way and with a frequency that you can live with. Most developers have communication tools in place they use with colleagues. Look into those and see if they will work for you. If not, find out if the developer is OK using the alternative tools you suggest. This is also a great time to find out how often you’ll be hearing from the developer. If the answer is, “Once at the end of each milestone,” you’re probably going to be unhappy. What are the chances the developer will understand your project exactly the way you intend it the first time? What are the chances that every distinct piece that makes up a completed milestone will be perfectly in place just as you imagined it? Regular check-ins (at least once a week) can fix small misunderstandings before they become big ones.
Once you’ve established communication, ask the web design company for a written proposal. It should be detailed and include specifics such as cost, terms, timeline for completion and require a signature. Don’t be surprised if they require a deposit upon contract signing–this is a common practice in the industry.
You’ll learn more with this method than with all the others combined. Asking probing questions and peeking into their code can only give you tiny glimpses of what working with a person is like. The best way to understand what it’s like to work with them is to do it. A test is also your best opportunity to get past the technical stuff and into the stuff that really matters: Are we going to be miserable trying to work with this person? If possible, break off a small piece of your project and work with the prospect to complete it. If at all possible, pay them to do it. This does a few nice things for you: it gives you a low-risk way to test working with the developer; it leaves you with a useful deliverable even if the relationship doesn’t work out; if you can afford to pay a fair rate it’s mutually beneficial for both you and the developer. I mention this last point because sometimes companies are tempted to ask developers to build a small test project for free for the purposes of evaluating them and their work style. This is not a good way to start a relationship with your developer. If they can build something that will be useful to you — even if, in the beginning, it’s not the entire project you want to build — isn’t that worth paying for? It’s probably best you don’t present this to the developer as a test project. You don’t need to lie or deceive them in any way, but present this as the project. In fact, it is the project for now. If everything works out, you’ll have another project to offer, but don’t hold this over them. It will adversely affect the relationship dynamic. No one wants to be the subject of experimentation. If everything goes well, the developer will want to work with you on future projects; you don’t have to use that in the beginning to keep them on the hook. During this engagement, keep your eyes open for red flags. Think carefully about what kinds of behavior you can’t work around.
It is not just enough that a web company has had your website up and running. There are horror stories of web developers missing in action after putting up the website and this leaves business owners groping in the dark. When problems and complications arise, make sure that the company you hired to build your website offers maintenance and 24/7 support.
A good website developer offers flexibility. They don’t force you into buying something that is impractical. In fact, they offer alternatives when your original plan doesn’t turn out the way you expect it to be.
If your timeline for project completion is approaching and you don’t have time to take all these steps, at least do the test project. Have your prospect build a piece of the larger project, that way your risk is low and no time is wasted. It’s an extremely valuable tool to ensure this is a relationship you want to have. Even if it fails and you have to find someone else, it will cost you less time and money than committing to a development partner to build the entire project only to have it fall through. It’s much easier in the beginning to pick someone you like and hope for the best. Sometimes that can work out, but, for the good of your project, you should enter into relationships with your eyes open as much as possible.
Ask about intellectual property ownership of the site. You should be given ownership of the site so that you can update/modify down the track without having to pay the original designer.