I bought a fixer upper house in 2011 that needed just about everything but one of the most critical things was the roof. It was leaking in several places and causing more damage to drywall, etc. I knew I didn't have the money to afford a roofer and I myself didn't really know how to roof but I figured it out and in the end I got it done for well under $750 and was able to spread the cost out over about 6 months as I gathered supplies. Below is the rough formula I used as well as a link to a detailed account of my experience. Hopefully there's something you can use if you know you have a roof job in your future.
1) Buy time if possible. (I patched the worst leaks with tar for about $20 until I could find supplies)
2) Gather supplies from the lowest cost source over time if necessary
3) Can you do this job your self? With a couple of friends?
4) Can you learn this skill from a win/win scenario like volunteering? (I volunteered with Habitat for Humanity to do a roof job and we both benefited)
5) Can you re-coop any of your costs after the project? Selling nail gun, roofing shovels, tar, nails, extra shingles, insurance discount.
6) Can you trade labor with someone else who needs help on a project?
7) You will have grown from the experience by expanding your abilities. This makes learning the next skill go even faster. You start to build a format for future projects and life.
Here's the long version of the story with pictures:
http://live-suburbantoolboxcom.pantheonsite.io/2016/09/17/how-i-reroofed-my-house-for-750-and-got-400-off-my-insurance-premium/#comment-6