Are they qualified?
For developers, every project is a learning experience. Just be careful not to choose a developer who needs to learn a lot in order to complete your project.
Some developers don’t specialize in the area you need, while other developers simply don’t have enough real-world experience or sufficient expertise to work on your project.
A great way to find out whether a developer can handle your project is to do plenty of research. Visit their website and poke around for a while. Look for projects they’ve completed that are similar to yours, and see if they have their expertise spelled out on any page(s).
Do they focus on a niche market, or do they appeal to a broad audience? Do they have any reputable partners? Have they worked on projects for any big-name companies like Microsoft, Oracle, or IBM?
Look at their content. Do they try to sell you on how great they are without mentioning any specific technical expertise or real-world problems they solve? If their content resembles advertising copy that doesn’t have any substance, or if there’s little effort to inform you about what they can do, keep searching.
A great developer doesn’t make you look very hard to learn about their expertise. They usually dedicate separate webpages to explaining their experience and capabilities. But even if this is the case, you’ll probably still have questions.
So get in touch with them. Send an email, fill out their inquiry form, or even call them. Doing so gives you a chance to interact and helps you get a feel for them. Pay close attention because this gives you an idea of how well they comply with another very important item on the list…
Do they communicate?
Still waiting for a response to that email you sent two weeks ago? Are you the one who always initiates contact?
You need to have a truly comprehensive experience, complete with needs discovering, requirements gathering, and other phases of iterative agile development. Reliable and frequent communication is essential to the entire process.
Go online and look at your prospective developer’s testimonials. Get in touch with their clients and others who’ve worked with them. See what they have to say about how well the developer communicates: Are they reliable? Do they give frequent updates and ask lots of questions? Do they communicate well internally (is everyone on the same page when it comes to a project)? Do they use multiple communication channels (text message, instant message, video conferencing, etc.)?
Also, pay attention to who’s responsible for keeping in touch with you. Make sure that your prospective developer assigns someone to act as a dedicated communicator or your single point of contact. Granted, you do want to occasionally discuss your project with engineers and designers; just make sure that the dedicated communicator sets up the meeting and takes part in almost every discussion you have with the development team.
When there’s excellent communication, your project gets done the right way.
Do they focus on solving your problem?
If you find a well-qualified developer who’s great at communicating, you can almost feel confident putting your project in their hands. Before you do, make sure they focus on solving your problem.
You probably have an idea of the solution you want, and all you need is someone who will build it.
Not so fast. Your ideal solution might not be the best solution to your problem, and you want to choose a developer who understands this.
So when you get in touch with your prospective developer, see if they ask questions that revolve around your problem, not your solution. This is the only way they can truly grasp your needs and build software that’s worth your time and money.
Do they avoid giving estimates right away?
Surely you’ve got a budget and an idea of how much time you think your project requires. So you’re shopping for developers and decide that you want to ask for time/cost estimates upfront. Like, really upfront. Like, in the first few conversations you have with a developer.
If they give you any numbers this early in development, especially numbers for your entire project, make sure you raise an eyebrow.
Why? Because estimates are complicated.
Sure, if you give your general requirements to an experienced developer, they can use proven estimation methods to provide you with a very general estimate. If this is what you want, look to hire someone who has plenty of experience creating the solution you need.
What if you’re in need of something that’s not really custom, and instead is a common solution in the marketplace? Plenty of developers offer standard solutions, like simple websites or mobile apps, that they have experience creating. They’ll be able to give you solid numbers on cost and time since they’re very familiar with these types of solutions.
In any case you should expect any estimate to change as your developer learns more about your needs, and as development issues arise.
For custom work, good estimates that are more useful and somewhat accurate come as the result of plenty of discussion. An estimate is an educated guess based on information you give your developer. Your developer has to grasp your needs and then break down the work to be done, which means they’ve got to thoroughly research your problem and your solution. The more your developer knows about your requirements, the more value they can add to their estimates.
So make sure your developer has the experience to provide you with the broad estimate you’re looking for, or partner with someone who knows that thorough research is the only way to give you valuable estimates for your custom project. Otherwise, you might subject yourself to an overconfident or inexperienced developer who will leave you consistently disappointed.
With these points in mind, you’re better prepared to choose a developer who provides a great development experience and delivers software that meets your needs.