Hiring a programmer sounds straightforward until you're actually doing it. Then it gets complicated fast. There are more options than ever, rates vary wildly, and the difference between a good hire and a frustrating one often comes down to factors that ar...