I agree with your son.
I had a problem with my roof, a valley gutter leaking, last October.
Because of the weather I needed it done quickly, noticed a roofer at my neighbours, and asked her about this lad. It seems he was living with her and her son. As her brother was a builder working for a local housing association, I assumed this lad was okay.
I paid him for the lead, then for the tiles and the work, etc.
He appeared to be doing the job, but then he left plastic sheeting and bricks on the roof until the cement had gone off.
A week later I asked my neighbour when he was coming to finish the job, and it turned out he had cleared off, then come back and broken into her house, stealing jewellery and her son's bike. He later came back and stole her car!
My roof has now been fixed by someone that the trading standards registered, and I haven't had the bill yet. I am unlikely to get my £450 back from the first roofer, and when I reported it to the police, I was told it wasn't criminal!
Agree to pay for the materials but not the labour until it has been done to your satisfaction.