The first step is to find people who have hired a roofing company recently that you can trust. This includes friends, family, co-workers, and others. Ask them who they recommend. Not only can they tell you who they used, they may have done their own research into the matter and can advise you who to steer clear of and any traps they might have fallen into or narrowly avoided. This can be invaluable information and you should take advantage of it before making your own decision. Ask them about how much they paid, what kind of work they had done, and whether they were satisfied with the job. If you have the time and they are willing, head out to their house and take a look at the job yourself. It may give you some further ideas.
One of the best and most underused tools when it comes to searching for a roofing company is the National Roofing Contractors Association. With a visit to their website, you can find contractors in your area and narrow them down according to a whole list of preferences. You can customize your search according to years of experience, how long they’ve been in the area, and much more. The NRCA will also be able to tell you important things such as whether or not a particular contractor has the appropriate insurance and whether they carry workman’s compensation. No search for a roofer is complete without at least one visit to this resource.
If neither of those resources help you find a good roofing company, try asking some local real estate agents and people who do house renovations for a living. Anyone tapped into the economy of fixing houses will know a thing or two about contractors. The only thing to be wary about is whether there are back end deals in place that promise a commission for referrals.