By David Berube
Your business needs software development. Sooner or later, you'll find that existing software doesn't fit your needs. It's slow; it's difficult to work with; it's
unreliable; it was designed for a different industry; it
crashes. These kind of problems can be fixed by custom
software. Unfortunately, it can be extremely difficult to
choose an software developer, especially if you aren't a
I've heard tons of stories about selecting developers -
mostly horror stories about winding up with large bills and
nothing to show for it. Fortunately, it doesn't have to be
hard to choose an software developer; I've used my
experience dealing with both businesspeople and software
developers to come up with 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; 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. 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
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 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 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.
3: Are they charging by time, or 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 - that is, 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.
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 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.
David Berube is a software developer and IT consultant
solving business problems. He's also a prolific writer and
speaker. If you'd like a powerful, innovative developer,
check out http://www.berubeconsulting.com.
Online Tax Calculation - Taxware International, Vertex and CyberSource
Application Development and Documentation Processes
Project Management - IT and Ecommerce