While shingling your roof can be a fulfilling DIY project, sometimes you need to call in a roofing contractor, especially for complex aspects like installing flashing or dealing with a steep roof.