You get what you pay for. I've managed dozens of programmers ranging from fresh-out-of-college to expert level. The former will cost $30/hr, the latter $130/hr.
Junior programmers will get stuck (taking much longer than you expect), take shortcuts (causing the program to work on the sample data set, but nothing other than that, or, worse, 'hacking' together a solution which is totally impossible for another programmer to understand), practice poor code management skills (releasing upgrades without testing), etc.
It's not that a junior programmer is "bad", it's just they haven't been exposed to consistently developing projects with other people looking at and updating their code and being responsible for maintaining code for the long term.
Believe me, saving a few thousand dollars and getting code that doesn't work, or that the next programmer can't understand if you need fixes or updates, won't save you anything at all.
Getting a programmer who doesn't care about the subject matter is probably not much of a failsafe either. If the system works well, it's going to be painfully obvious to the developer that he can make money (and potentially more money than you're paying him to deliver the software!)
If it were me, I'd find someone who is both a programmer and a trader. They can help me refine the system by intelligently developing code mods that may improve the overall system. In addition, if they're an active trader, they already have a system, timeframe, and contract they use and like and will be much less interested in yours no matter how well it performs.
As a disclaimer, I've done a couple of contract jobs developing trading systems for others (and dozens developing commercial products outside of the financial space). So, consider everything I've said as self-serving for why you should pay more and trust people like me.
