he simply has to be correct, and have a good relationship with the student. The only two requirements in my opinion. The only problem, it's extremely hard to say what is "correct" that isn't also obvious. So what follows from that problem in my view is that the student and the coach have to have a similar view of things, such that they can work the problem out together like two people solving a puzzle together. edit: good video
Tell that to "it coaches" and bootcamps that will make you a software engineer in 3 months.. xd exactly the same, they are not good yet they "guarantee" that you will get to certain level even if they didnt really achieve it.. a lot of people want to just suck the money out of naive people