At some point, your business is going to need to have some software development. Maybe your business is small, but existing software doesn't fit your needs. Maybe your company is larger, with significant technology resources already, but you need an outside perspective. Whatever
reason, it can be difficult to choose an software developer, especially if you aren't a technical person. I've heard stories about selecting developers from all sorts of people. Quite a few have told me heard horror stories about how they wound up with large bills and little or nothing to show for it. Fortunately, it doesn't have to be hard to choose an software developer; I've developed four questions you need to ask when you're choosing a developer.
1: Are they a contract programmer or a software developer?
A professional software developer isn't in
business of writing code; rather, he's in
business of solving problems, and code just happens to be one of
way that he (or she) does it. Conversely, a contract programmer 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
way he's told, and hopes it will fix
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 focused on technology or benefits?
Some software developers can get wrapped up in their technology; it's not uncommon to see developers who specializes in "AS/400 mainframes" or "embedded systems", for example. A real software developer, though, focuses on benefiting his client, using whatever technology is necessary, rather than on what technology he's familar with. You want to hire someone that's skilled at solving problems, and that will use
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
work himself or outsourcing to someone in his network of contacts.