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. Perhaps your company is more substantial, with significant technology resources already, but you need an outside perspective.
Whatever the reason, it can be challenging to choose different types of software engineers, 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 a 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 the business of writing code; instead, he’s in the business of solving problems, and code happens to be one of the ways that he (or she) does it. Conversely, a contract programmer will want you to spell out precisely what kind of program you want him to write. He doesn’t solve problems; he writes code the way he’s told and hopes it will fix the issue 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 specialize 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 familiar with.
You want to hire someone skilled at solving problems, and that will use the technology that’s best suited to your business, whatever it may be. It would be best if you didn’t have to pick a developer based on what technology he’s familiar 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.
3: Are they charging by time, or by the 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 the value provided to you – that is, by the 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. It would help if you weren’t making an investment decision every time you consider calling your software developer.
4: 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 understand what your problem is, you won’t end up with the solution that you need, because your developer is making random shots in the dark.