One way to find a good roofing contractor is to talk to people that have had a new roof put on in your community and see if a reliable one can be recommended. Some things that you will want to bear in mind when talking to a roofing contractor is if they are going to include new flashing and roof jacks in their bid.
The roof jacks are the metal vents that poke out of the roof and it is wise to have them replaced when you are having your roof redone if they show any signs of corrosion. Also, if there are valleys in your roof that have metal flashing in them you will also want to have them replaced when to home is roofed.
If you need new gutters the time to replace them is when the roof is torn off, so you will want to discuss this with the contractor also. If he appears to be unwilling or annoyed at having to work his schedule around the gutter work find a new one that will work with you.
You will also want to discuss beforehand how the contractor is going to deal with any dry rot that is found when the roof is torn off. Make sure that you have a clear understanding on his policy for charges for dry rot repair. This is because the last thing that you need is for him to hand you an added bill for $3000 for a small area of dry rot that took him a sheet of plywood and two hours to repair.