Eventually, your business is going to need to have some software development. Your business is unique – you can’t rely on a huge, faceless corporation to handle your unique needs with a shrinkwrapped, mass produced, production-line solution. You need custom software, and to get it, you’ll need to pick an outside software developer. A hired gun.
It’s hard – after all, most businesspeople aren’t technical people. You want a Clint Eastwood – tall, confident, and ready to solve your problems with cold steel – but you usually get a technoloser – short, geeky, sniveling wimp with no backbone and no ability to get anything done.
Unfortunately, I’ve heard stories about selecting developers from all sorts of people. Bad stories. I can’t even begin to count how many people have wound up with large bills and more problems then when they started. Fortunately, I’ve developed four dynamite questions you need to ask when you’re choosing a developer.
1: Does your developer solve problems, or just write code?
A professional software developer isn’t in the business of writing code; rather, he’s in the business of solving problems, and code just happens to be one of the way that he (or she) does it. On the other hand, many developers will want you to spell out exactly what kind of program you want him to write. He doesn’t solve problems; he just writes code the way he’s told, and hopes it will fix the problem at hand. With a real software developer, you wind up with a solution that leaves everyone happy.
The market is full of contract programmers masquerading as software developers. Be careful.
2: Are they trying to give a solution before they know the problem?
Some developers will offer to send you a proposal after a ten or twenty minute phone conversation. It is impossible to accurately assess your situation that quickly; they are trying to provide you with a ‘one-size-fits-all’ package. Real software developers will not provide you with answers, proposals, or fees until they know enough about your business to have an informed opinion. Unless your developer is willing to spend enough time to really know what your problem is, you won’t end up with the solution that you really need, because your developer is making random shots in the dark.
3: Are they in love with a particular technology?
Software developers can fall in love with their favorite technology; it’s not uncommon to see developers who only develops with Microsoft or Sun technology, for example. A professional software developer, though, focuses on benefiting his client, using whatever technology is necessary. You want to hire someone that will use the technology that’s best suited to your business, whatever it may be. You shouldn’t have to pick a developer based on what technology he’s familar with; he should be able to take care of almost any technological problem, either by doing the work himself or outsourcing to someone in his network of contacts.
4: Are they charging by project?
Amateur software developers tend to charge for their time, not by the value of the work they perform; so do contract programmers. Real software developers, though, charge based on value provided to you – by project – NOT based on time. This is because amateurs are afraid that they won’t be able to complete the project in a reasonable amount of time, so they want reassurance that they’ll be paid for their time in any situation. Experienced software developers, though, are confident in their ability to deliver code under their estimate, they are confident in their ability to provide value, and they that they can provide value that’s worth MORE than their time is. You shouldn’t be making an investment decision every time you consider calling your software developer.
That’s it. Ask these questions studiously, and you’ll get a programming dynamo. He’ll be able to handle the tough questions and give you the tough answers, and you’ll get bulletproof software.