Before you hire a developer, it is very important to be able to evaluate their skill set to know you have the right person for the job. This can be challenging though when your own technical skills may be lacking.
The best way to understand whether your developer is the best for the job is to ask them to teach you what they will be doing, to examine their decision-making process, and to see how the two of you work together.
Below are five key skill sets you want to evaluate and the questions that can help you do this.
You will also want to ask what the drawbacks are of some of these frameworks and which one the developer recommends. This will allow you to see how the developer thinks and the decision-making process they go through. There will be so many decisions the two of you will have to make along the way, it is good to learn now how you think and work together.
To understand the developer’s knowledge as a back-end developer, you would want to ask them what they know of microservices and whether they are an option to consider. These services are relatively new but are very efficient and effective development tools, so it is worth understanding whether the developer knows about them and whether they are prepared to work with them. The advantage of using microservices is that you can delegate small software tasks to the cloud. This can be beneficial both for management now and for future scaling.
You should also ask about SQL and NoSQL (see What a startup CEO needs to know about databases and Which database format to build and grow your startup). Both options are good, but both also have advantages and disadvantages. NoSQL is faster and better for large amounts of data and scale for instance, but has some drawbacks when it comes to reporting.
To understand the developer’s infrastructure and cloud skills, ask them to explain to you what ‘database as a service’ and ‘backend as a service’ are. Both are new ways of managing development and allow you to delegate tasks that have no value.
You should also ask what solution they would recommend to be able to provide a reliable failover system that does not involve paying large fees to a hosting company. The cloud is an excellent opportunity to allow for your server to be professionally handled, to have multiple servers running in parallel so that if one goes down, the other is still running, and to have someone else take on the work of monitoring and relaunching your server should it be required.
Be sure that the provider is aware of options and that they can explain their reasoning as to which option is best.
To understand how the developer would handle their own workload, and how they might take on the task of becoming lead developer someday, you would want to understand their development process.
First, ask them how they will organize their own plan, their own to-do list to focus their efforts, and how they will provide you with information about what they are doing. Then, ask how they would manage development if there were multiple developers and it was their task to organize them to meet a development deadline. In both cases, you would expect to hear about Agile methodology, about the use of a burndown chart to allow tracking toward a deadline and goal. The key is to have a single place for all of the actions and results.
Ensuring your developer has an understanding of your market is about linking the developer’s goals to your client’s needs and expectations and the ultimate solution. You can ask the developer what they recommend to evaluate development tasks and priorities to align with customer expectations. What you should expect to hear is something about a backlog plan that will take all of the wish list items, all of the brainstormed ideas, and from which you will prioritize what comes next.
You also want to ask them about their process for debugging different versions of a product to make sure they understand how it impacts customers and how to avoid problems. What you would want to hear is reflective of a DevOps mindset. This means the plan would be to deploy an application in a straightforward way while running tests. An indication of a bug in production results in a check on development, deployment in a test environment to fix the bug, and then a simple push of a button to deploy once the bug has been confirmed as corrected. The simple push of a button in this case is key.
Hiring the right developer is not always easy. But when you take the time to really assess the skill sets of potential partners to understand how they think and how you could work together as a team, the best candidate will become much more clear.
Watch this quick CTO Tips video where I explain this process and more here.