When choosing a roofing contractor there are several things that you should take into account. One of the most important is making sure that you were using a local company and not a fly-by-night contractor. Many companies coming to an area after a storm and get local phone numbers and rent a local Virtual Office so they can do business. One of the best things to check this out is to ask about roof they have done in your area in previous years and get references that you can speak to.
Another important factor is making sure that the roofing company offers a good labor warranty on their work. Our company for example offers an 8 year warranty while many companies in the area surrounding us only all for one or three years. It comes down to how long you want to feel safe about your roof not costing you money. Many of these companies also advertise the shingle warranty as the warranty but there has to be a warranty on the labor as well.
Next is price. Make sure you are not going with the most expensive company or cheapest company. I recommend getting at least 3 quotes or more if you have the time. If one of the prices is far off from the others then there is probably something going on that you should ask about. While checking the price also make sure that you are getting the quality of shingles that you expect for that price. There is a big difference in 20 year shingles and lifetime shingles. Most of the shingle manufacturers make a mid-grade luxury shingle with a limited lifetime warranty that is somewhat affordable to put on your home. This is an architectural style shingle and will last much longer than the old 3 tab style.
Last is reputation. If you can find a contractor that has done roofs in your area or read some reviews online and verify that the contractor has done good work for people in your area. Oftentimes contractors will work through a neighborhood and you can actually see their work. This is a great way to verify they are doing quality construction.