There are many good, honest contractors, but in my experience no other profession has as high of a proportion of incompetent and/or crooked practitioners.
In addition to the other posters advice, also make sure to:
– Have them put everything in writing with all important details included.
– Make sure that they are not going to hire sub-contractors to do the work unless you are totally comfortable with the sub-contractors. Remember that you are ultimately responsible for the sub-contractors being paid, even though you did not have a contract with them, or even knew that they were sub-contractors when they were doing the work. The sub-contractors can put a lien on your house if the contractor doesn’t pay them (even if you can prove you paid the contractor in full).
– Verify that owner (or main man) will be onsite for the duration of the project rather than sending out his semi-skilled, non-english speaking employees.
– Pay with a credit card if you can. It’s very easy to freeze/pull back the funds after the fact. This gives you huge leverage.
– It’s illegal for a California contractor to ask for more than 10% or $1000 up front. It doesn’t matter if they have to order materials that exceed this amount. If they don’t agree to this they are probably broke.