Most non-technical entrepreneurs desiring to build a product in technology face a big conundrum – how do I hire a good technical person for my startup. How will you know whether your contractor knows what the hell they’re talking about and, much more importantly, whether they will create your technology in the most efficient, bug-free manner.
Being non-technical, entrepreneurs have the great desire to give the technical person a test. But, this is a very bad approach. You might, for example, search for technical tests online and subject all your potential contractors to it. However, how do you know what you are testing for? If the person fails, does it mean they are bad for the job? How do you know?
The problem, as I see it, manifests itself because of two conflicting facts 1. Non-technical people think that software engineering has everything to do with knowing facts – knowing function names, all facts relating to specific concepts, names for methods in software engineering, etc. And, 2. Software Engineering is actually closer to an art rather than a memory-challenge exercise. To be a good software engineer you need to be a good problem solver. You need to have familiarity with methods in order to know that particular solutions exist. However, actually knowing all the details of why and how and every nook and cranny of the solution is not that beneficial. Google is a software engineers best friend. For our jobs, we need to utilize google many many many times a day. We need to optimize our brains in order to be able to provide the best solutions to our software problems. It is simply not efficient to remember all the ins and outs of each solution when google is at hand.
Now, let’s get back to the technical tests. Since fact-based knowledge is easier to test than problem solving skills, most technical tests aim to qualify these. Considering the idea that this is not what you should be testing for, you begin to see the problem. Most software engineers, such as myself, dislike being tested this way because these tests do absolutely nothing to determine how much we know. It has been stated in the industry recently that there is no good way to determine how good your developer is other than working with them. That is, until you see their problem solving skills as they relate to software engineering on an actual project, you will not know how good a developer they really are. How then, do you find a developer that you can rely on? One that you know will be able to implement your project elegantly, in an efficient manner? – Intuition, trust, and references.
Software engineers are people just like any other recruits. They are people whom you should be able to trust, especially since you have no way of knowing the condition of your technology after they are done with it. Use your intuition to determine whether the person you are vetting is trustworthy. Ask them about their expertise, previous projects. Ask them to describe the technology behind it in detail. If there’s anything that you do not understand, ask them to explain. Get to know how much they know through conversation. If at any point they make you feel like you are not smart enough to understand or are asking questions that are too simplistic, dig deeper. Intimidation might be a trick to get you to hire them by thinking they are smarter than you. Do not fall for this. Don’t ever let a developer make you feel like you are asking silly questions. This is your project, you’re allowed to ask anything you’d like.
Your developer should further be willing to explain everything that you ask because they are going to be the only point of contact to your technology. These preliminary conversations will be a good foreshadowing as to how your communication structure will go. Will they be willing to describe the technology to you every step of the way? Will they be open and willing to discuss roadblocks, status of your project, deadlines, etc.
References are also a good way to vet a technical person, however, in my experience they’ve rarely proven to be useful. I find that if a person is willing to give me a reference they will make sure that reference will be a standing ovation. Whenever I need to hire an expert in a field I am not familiar with, I base majority of my decision on gut feeling based on my conversations with the person, how well they describe their previous projects, how trustworthy they seem and how open they are about sharing their past experiences.