Ten Questions to Ask Before Hiring a Database Developer - Part 1
Hiring a software developer is in some ways like a marriage. You and the developer will work intensively at the beginning of the relationship and then continue to work together over the lifetime of the software. If you're like most businesses you will hire a developer because there is no off-the-shelf software that can do the job that you want to do, and there is no one in-house with the skill set to create something that meets your needs.
In virtually every company, the business will change over time. As the business evolves, the software will also need to adapt to continue to meet your needs. For that reason, it is important that your software be as flexible as possible and that the person who develops the software for you is able to revise it in the face of new business challenges.
Because of this need for flexibility, it is critical that you hire the right person. This month, we'll begin a review of ten questions that you should ask before hiring a database developer.
(Note: Along the way I'll be referring to developers as he and him because most developers today are guys. I'm not trying to be sexist, I'm trying to be realistic.)
1. How long have you been developing database applications? |
 |
This is a critical question. If you find someone who is just starting out in the world of software, or is just starting with database development, he will make virtually every rookie mistake possible. It's only actually creating database applications that developers learn where the potholes are in the road how to navigate a safe route.
More important though, an experienced developer will be able to know how things may change over time and, as a result, design the software so that it is sufficiently flexible. When the inevitable changes come about, they can be implemented with only a modicum of effort.
You're looking for at least five years of database experience - 10 years is even better. If the person has fewer than five years of experience, even if he quotes a relatively low price you'll end up paying more in the long run because he will make more mistakes that will need to be fixed and will not ask the critical question to uncover issues about which you may not even be aware.
|
2. How many applications have you made for other people? |
 |
If the person has a lot of experience yet all the work is for a single company or, even worse, only for himself, then he won't know the challenges that accompany the implied requirements to develop for diverse environments.
If your business is like most of the ones I've seen, there are likely different versions of software, operating systems, and flavors of hardware. You want someone who has seen and developed for a range of systems. This experience will make it much easier for him to recognize any challenges that may be embedded in your particular hardware and software.
|
3. How do you keep up with developments in the field? |
 |
The world of software is changing with breathtaking speed. Software that was leading edge as few as five years ago may no longer be the best tool to solve your problem. This doesn't mean that the software is necessarily outmoded. It just may mean that there may be tools that allow a developer to create software more efficiently.
Ideally, you are looking for somebody who is active in professional software associations, is taking courses, or, better yet, is giving presentations to other developers on what he's learning along the way.
Beware if a developer says "I keep up with everything and I'm always using the latest tools." You should see that as a caution area. In virtually all cases, brand new software tools are riddled with bugs. You don't want your developer to using the first release of any new software. Rather, you want your developer to be using, at the very least, version 1.2 or maybe even 2.0 of whatever the latest whiz bang product is available. Let other developers spend their time and their customers' money finding bugs in early releases of software.
|
4. How do you solve unexpected problems? |
 |
You want to listen closely. If a developer has never run into unexpected problems, smile politely, thank him for his time, and move on. Because of the nature of software, even a thorough discovery process will not uncover all problems.
You are looking for one of the following responses:
- I do research on the Internet to find the best solution.
- I talk with my developer buddies to find out if they have experienced similar problems.
- I call the software company to see if this is a known bug.
- I talk with my customer to see if the problem was significant enough that it should be solved or just worked around.
|
5. How do you make sure you are developing what your customer really wants? |
 |
This is a critical question. I've seen too many cases where the developer had an initial meeting with the customer then went off and developed stunning software that, although technically good, did not meet the needs of the business.
One of the things that make developers competent is that they tend to love software and machines. Unfortunately they tend to be less than great communicators - the stereotype of the socially awkward software engineer has more than a kernel of truth.
A developer should spend a fair amount of time working with you up front to make sure that the he understands what you want and is able to tease out the things you may need, but don't realize yet. Furthermore, you want to know that he will be looping back to you during development to make sure that what he is planning is consistent with your needs. He should be showing you mockups of the forms and screens that you will be interacting with, and working with you to make sure that the software will work the way you need it to work.
|
Trap of the Month - Beware of Totals in Report Page Footers |
 |
Typically in your reports, if you're interested in totals, you will put these in the Report Footer section. If you mistakenly choose the Page Footer rather then the Report Footer, you will get an error when you run the report.
Unless you truly intend to have the totals be at the bottom of every page, simply move the totals to the Report Footer section and everything will work as expected.
If you do want the totals to be at the bottom of every page, the built-in report tools won't help you here; you will need to resort the code to make the correct numbers appear.
|
|
Tip of the Month - Minimize the Work to Choose a Field in Query Design |
|
Frequently when you are designing a query, you may have a table with many fields, so many fields that it can be tough to find the right one to bring it into your query. There are two ways to make this process easy.
First, click in the table and type the first letter of the field name, the highlight will jump to the first field that starts with that letter. If that isn't the field you want, type the first letter again and it will jump to the next field with that same letter. You can continue this process until you find your target field and then just double click to bring it into your query.
Another way is to click in the table table row of the bottom half of the query design window and select the table that contains your field. After that, click in the top line labeled "field" then just start typing the name of your target field. Auto complete will takeover and speed you to your target.
|
|