If you need to perform a minor repair, like fixing a leak or replacing a few shingles, you may be able to DIY.  However, this is only advised if you’re comfortable spending time on the roof and can do so safely.
However, for major repairs that are beyond your expertise or complicated procedures that require spending long periods of time on the roof, it’s best to hire an experienced professional from local roofing companies. Additionally, a roofer should and has the ability to inspect your roof periodically for damage caused by the elements.