|
On Choosing A Software Developer
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 technical
person.
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.
|