Roofing is not actually that complicated. The problem is, though, a small mistake can cause a lot more damage than any money you might save by trying to do it yourself. What's more, it will take you twice or three times as long to do it, and you are unlikely to have the right equipment. So, consider using an experienced roofing company.
More thoughts, scraped from the Internet: