Selecting a software developer

| March 12, 2013


When it comes to selecting a software developer or development company most of the important areas have nothing to do with the technical side of things and everything to do with people, communication and process. Scott Middleton explains. 

As a medium sized business you don’t always have the technical experience you need in-house, especially in regard to IT and the development of new websites, apps or software for your business. 


Below are five of the most important things to consider when choosing a software developer. 



1. Do they ask questions before doing anything?


A good developer will ask lots of questions and assume nothing because what appears to be a simple function can have complex requirements or alternatives. For example, “only registered users can use the system” expect them to come back with questions like “how do you want people to register? Using their company email and password? Using Facebook? Using their Salesforce login?”

2. What is their development process?
The end result of a properly applied software process is reliability and value for money; you get what you require at an appropriate cost. Without a process or with an inappropriately applied process, the chances of running into problems greatly increases and projects may take too long or cost too much. 

Requirements gathering and definition must also be a part of this process. Returning to the user registration example above, say you require a login that integrates with Facebook. You may think this instruction is enough, however, there are things to consider like: “Where will the button appear? What information is needed from Facebook, eg their name? Interests?” You could leave this to the developer but you are better off thinking this through and discussing it up front. It will be worth it in the long run and you will get what you expect. 

3. Do they tell you what the software won’t do?
Establishing what software won’t do is just as important as what it will do. A good software engineer will see beyond what you’ve explicitly asked for and tell you what you thought was implied but may not be included in the end product. For example, it is often assumed that an interface design for an iPhone application is easily transferred straight to Android smart phones. This is not always true, typical Android design patterns differ to the iPhone’s. If the developers don’t mention things that won’t be done, even if they seem obvious, then you may be headed for a few surprises later on.

4. Do they write automated tests?
Automated tests have the computer test itself, making testing faster and more efficient than manual testing. This ensures changes don’t adversely affect other parts of the software. In the beginning this seems like a waste of time and cost but reduces issues in the long run.

5. Do they recognise that writing code is only part of the battle?
A developer needs, amongst other things, a project manager to monitor progress and risks, a business analyst to interpret requirements and an architect to design the system. One person may wear multiple hats but the roles themselves are essential to any successful software project.

Taking into consideration the five above criteria should ensure you embark on IT projects with your eyes open and that the relationship with your developer has strong foundations  If areas of a project don’t go to plan, which may happen, then you know you have chosen a developer who you can communicate with, which will be valuable while working through the issue.

Scott Middleton has been developing software for 11 years. He is the CEO of Terem Technologies. Terem works with companies that want to develop or extend cloud software applications, web applications and mobile applications.

SHARE WITH: