My recommendation is to learn how to code it. I find outsourcing a really really bad idea, because:
1. You don't know how well it was done
2. It may have several security issues
3. You won't be able to modify it
4. You won't know how to improve it or implement it in another way
5. It makes your brain lazy
And I've found that when you are thinking about how to code it, more ideas come to your mind, you get more creative and develope something far better than what you were thinking at the beginning.
I would hire a programmer ONLY if I know how to do what he's going to do and I don't have the time to do it myself.
This is just my opinion...