Here is a tip you can use to shingle your own roof. Make a starter course at the edge of the eave, laying the shingles upside down. Trim one-third off your first shingle, so the joints will be staggered, then lay your first course over that, with tabs down. Form a pyramid of overlapping shingles, trimming each by six inches so that all rows will have overlapping joints. Then continue to lay rows from bottom to top, using whole shingles.
For more on roofing, consider: