I would emphaise engaging a reputable company/person who can give you references or is personally recommended.
It depends how much work the contractor has to do eg plans before doing groundwork and also how much of the spend is for materials. I think it is reasonable to pay for materials if they are specially ordered but you can get round that by purchasing them yourself.
We had quite a big job done (about £8k) and had to put down a deposit and then staged payments, of which I'm pretty sure one was up front but the final one was on completion.
I think for a smaller job I probably would'nt expect payment up front. In fact we had a £800 fencing job done and the bill arrived so many months afterwards I assumed I'd already paid it so ignored it
I did think that the terms we agreed to were quite favourable to the firm - but they were very professional and I guess that's how they achieve it - being pretty stringent on payment deadlines. We did have a lot of materials that they needed to buy (although not until the later stages of the project). It was fine though - we needed a few things finishing off to our satisfaction at the end so we didn't give them the last cheque until it had all been done.