A - I'm pretty sure most people design the UX/UI before they start coding (at least mock ups). If you have already coded all your backend, you might feel constrained when designing the UI or might realize too late that you oversaw some critical parts of your system. Let me illustrate:
Let's say you are building a "C.V. builder app". You might start coding with the assumption that the user has to be login to start building his C.V. However, if you imagine the UX first, you might realize that it would be nice to ask the user to register only once he wants to save his newly created C.V. That simple detail might have a huge impact on your code base.
B - Some resources & inspiration: http://uxmovement.com/, http://ui-patterns.com/, http://www.smashingmagazine.com/category/inspiration/, http://www.dribbble.com.
C - If you're good at UX/UI design but lack the Photoshop skills to bring your vision to life, it should be safe to outsource. In any case, make sure your designer really "gets" your vision.
D - I started learning to design and program at about the same time. Since then, I've put most my time into programming and although I consider myself pretty good at designing user interfaces, I lack the technical skill and experience to make them look beautiful. If you're the same as me, I would suggest spending some time trying to really master Photoshop or such tool. Also, some color/typography theory can't hurt.