Back to Papers and Articles

Choosing the Right Software Development and Database Consultants

Copyright Paragon Corporation   ( December 23, 2004) Last Updated Dec 15, 2007

Measure your company and your project

Before looking for a software development or database consultant, it is best to do the following

  • Estimate the scale of your project
  • The timeline you expect
  • How large your company is
  • How formal you need to be

If you are a small company or have a relatively small project (e.g. you are not building an office suite), it is usually best to go with a smaller company for several reasons.

  1. You are more likely to get personalized attention with a small company who will see you as a larger portion of their business.
  2. You in general don't need to be as formal with specifications with a small company as you would with a larger.

Lesson 1: Know How to spot a bad consultant?

Regardless of what your personality is, you should first stare away from bad IT consultants. Below are some tell-tale signs to watch out for

  • The consultant blows you away with a pretty proposal that has absolutely no substance whatsoever, but uses a lot of buzzwords you are unclear of what they mean. This is a sign that this consultant will spend a lot of time and charge you a lot producing elegant documents that will be entirely useless to you.
  • A consultant that doesn't listen. If you tell a consultant what you are looking for in terms of application requirements or support and they come out with a quote or proposal that doesn't resemble at all what you discussed.

Lesson 2: Get a programming or database consultant that has experience doing what you want

Desktop vs. Web

If you have a web application, it's usually not a good idea to get someone who has only desktop application experience to do the job. The exception here is if you've known this consultant for a while and/or they are willing to give you a discount for their time to learn.

Database Technical Support

Most business applications nowadays have some database component. Sometimes you are stuck with the database product you are using. E.g. If you have invested heavily in money and staff learning time with Access or SQL Server, then you may want to stick with that. In that case, it is preferable to get a consultant with that kind of experience. If they have additional experience beyond that, then that is better.

Programming Language

If all your applications are written in a fairly modern language, then it is best to get a programming consultant who is experienced in this language to redo an app, extend an app or create a new app.

If your applications are written in an obsolete or soon to be obsolete language, then it would make sense to get a consultant that has experience with both.

Sometimes such experience is hard to find. In that case you would be better off getting a consultant who has experience with the newer language. This is because it is easier to read code and understand code in a language you are unfamiliar with, than to write code in a language you are unfamiliar with.

Lesson 3: Don't be fooled by Famous Names

The big danger of using a well-known or large consulting firm is that you don't know who your bedfellows will be. Huge consulting firms often ride on the cushion of their brand name. E.g. If a company creates a particular technology, one assumes that they are the best to go for when consulting on such technology. This is often not true. Often what happens is that they get some rookie programmer or employee to do the brunt of the work and you pay the high prices.

Know who you will be working with

While you can't always know whom you are working with, you should at least know the point person and have confidence in the point person's abilities to drive change.

Further Reading
Consultants Revealed A good synopsis of what makes a good consultant good. Article is by Joshua Drake a noted Linux and PostgreSQL consultant.
Waupaca Computer Consulting LLC: Why Choose Us? This is an article by a consulting company in Wisconsin that covers how to differentiate between a good programming consultant and a bad one.

Back to Home