1. Determine what specfic type of programming you need. What hardware and operating systems are you working with (platform)? Is the system online or offline? Is there an industry standard for the task you're trying to automate? Does the programmer need to understand ancillary systems in your environment in order to do the job?
2. Can an individual programmer do the job or will a team be needed?
3. Will project management be required? How much of the project are you willing to manage?
4. Is communication an issue? Do technical ideas need to be conveyed in layman's terms? Do you talk tech?
5. Is it important for the programmer to be local and onsite during any part of the job in order to understand how the business system will work in your environment, to interview users to get the details of a task, or to attend status meetings, etc.?
6. Once you have some idea of what you're looking for, you can start your search. You'll know if you're looking for a Windows expert vs Unix, or some other platform, whether you need an individual PhP programmer or a team of Oracle experts, whether you can manage an offshore project or if you're looking for someone local.
7. Sources for finding programmers are other business owners, your local university, online sources you trust, software companies who certify partners, your IT guru, and staffing agencies.
8. Interview, start with small tasks, and if you have concerns address them right away.