Computer programming presents the average person with all the problems of a major film production combined with all the problems of launching a small spacecraft. It is equal parts inspiration and mathematics, and often requires far more time and money than even the most well-prepared manager can predict. Many projects reach a point where they are too far along to cancel, but not far enough along to hand over to a maintenance team. This is when a second developer can be brought in to complete work. How do you find that developer?
It goes without saying you will be asking many questions of your candidates for a development position, but what you should be looking for are those people who ask as many questions as they answer. If they are engaged with the project, they will want to know everything there is to know about it as early as possible. This is always a good sign, because it means that candidate is already forming foundations for a solution to your problem.
This is particularly good if the candidate is asking questions you don’t know the answers to.
If your candidate developer wants to immediately start churning out code, be sure they aren’t avoiding the planning process. Any project, no matter how humble it might be, benefits from good planning even if all that is gained is a better understanding of how long it will take or how much it will cost.
Insist your developer explain both the problem and the solution in some kind of a development plan. This will satisfy a couple of your major concerns, even if you don’t know you have them. One, it will reassure you the developer understands exactly what it is you want and two, it will give you an objective description of the solution you can use to measure whether the developer has reached their goal.
You will also learn along the way, so when you’re next project rolls around you may be able to tackle it on your own. There are plenty of resources online to learn from as well, I highly recommend watching some TED talk for developers.
It is almost always a good idea to start out with a small piece of the larger project. Think of it as a tryout. You should apply all of the protocols and criteria to the smaller project you plan to apply to the larger one so you can evaluate the developer’s performance practically and specifically. If the smaller project is a success, then you will have not only a part of the project completed, but you will have a preview of what the larger project will entail.
Computer programming and software development are really not all that different from other kinds of production work. With proper planning and a competent, knowledgeable grasp of the project, your goal should be within easy reach.