html code

Choosing a Web Developer: What to look for

So you are looking for a web developer, someone to make your dream web application a reality.  You don’t have a full understanding of what it takes to accomplish such a feat, nor do you have the time or desire to learn how to do it yourself.  The first thing anyone would do is turn to Google (or your other favorite search engine), just to click through a massive amount of websites that all say the same things.  How do you make the best choice? Or what if you make the wrong choice? Will they be able to do what I want them to do?  These are all questions that will come to mind throughout the search.

Meeting Expectations

Let’s get some things out of the way right now.  First of all, what does a successfully completed project look like?  To understand this, we need to look into a few project management principles.  If we take a look at the Project Management Triple Constraint, we will see that the quality of all projects are constrained by 3 things: cost, time, and scope.  If a change in one of these constraints is needed then the other constraints must also change if you want to ensure a quality product.  Let’s look at a hypothetical example.

Let’s say we have an agreement with a company to build a web application (with a specific set of required features) for $10000, with a deadline 2 months from now. So we have the scope (web application with specific requirements defined), cost ($10000), and timeline (2 months).  Now if you suddenly needed the application to be done in one month instead of 2, then you either need to change the scope of the project (perhaps cut out some features), or pay more money (hire another developer). 

Why are we talking about the Project Management Triple Constraint? How does this help me choose a developer to build my applications? We know now that a successful project isn’t necessarily just completing the project.  It’s about having expectations met.  A good developer will manage these expectations so that there aren’t any surprises.  Just think of how it feels to pay more for something without knowing why, or being promised something at a specific date just to find out that you have to wait even longer.  These sorts of things make us upset, and if I’m upset then there’s no way I will say the project was successful, even if the final product is exactly what I wanted.  So look for a developer that will manage your expectations properly, you will be able to tell right from the beginning if they seem capable of doing so.

Developer Communication

I know what lots of you are thinking: “I am going to outsource my development overseas to save some money”.  I’m not going to disagree, you can save money with outsourcing.  And if cost is the only factor, then outsourcing is the best bet.  However, there are many issues that come with outsourcing that you should be aware of before making that decision.

I live in Canada.  Let’s say I outsourced my project to somewhere in India.  Now let’s say this developer in India has a quick and simple question they need answered right away.  Well guess what, I am asleep.  So they send me an email that sits in my inbox until I wake up and get around to checking my email.  Once I respond to the email, the developer’s work day is over and probably won’t get my response until the next work day.  So one simple question doesn’t get answered for one full day.  Imagine if there are many questions that need answers.  Or imagine you are working with a developer that doesn’t want to ask the questions because it takes too long to get a response, so they just build your application they way that they want to build it.  And so on…  The headaches add up fast.

Communication problems are not exclusive to outsourcing.  So pay special attention to the whole communication process while you are in discussions with a potential developer.  Communication issues have the potential to break up a project at the wrong times, leaving you frustrated and stuck with finding another solution.  So try to mitigate this by gauging how well a developer communicates before you have even started the project.  Also, if you notice communication problems early on then you will want to address them as soon as possible so it doesn’t turn into something that will leave you wondering what went wrong.

Development framework

All developers have their own preferences when it comes to coding.  Some will swear by a certain language and mock anyone who thinks otherwise.  Some are old school and prefer to do things a specific way.  You might think that as long as the end result is what I want, it doesn’t matter what programming language they use or how it’s built.  Thinking like this just might end up costing you in the future.

Let’s be real here.  Certain programming languages are more popular than others.  This means that there are more developers that use certain languages.  This matters because you want to use a programming language that will make it easy to potentially find another developer.  Ideally, the developer you choose will support you for the rest of your life.  However, we don’t necessarily live in an ideal world.  Something could happen to the developer, the business could shut down, or you might just not be satisfied with the developer.  In any case, using a popular language will make it easier to find someone else to pickup where things left off.

I’m not saying that less popular languages are not useful and should be avoided at all costs.  Some languages just do things better than others, so your needs will dictate whether you need to use a less popular language. 

What are the most popular languages for building web applications? There isn’t a long list, but here are some of the most popular, in no specific order: PHP, Python, JavaScript, C#, and Java. 

Conclusion

To summarize, you want to look for a developer that can manage your expectations, communicate effectively, and can use a language that will meet your needs.  These three things will give you a good indication of what your experience will be like working with them, but always be aware of what’s going on so that you don’t find yourself in a position where you may have to abandon the project.  If you are in an existing relationship with a developer, and you notice they aren’t doing some of these things then don’t feel bad asking them to change.  You are the one paying them, so you should have a say in how thing are going.

If you have any questions, feel free to contact us for more information.