I'm in a bit of a precarious position.I'm working remotely for a client that has recently brought in a junior developer straight out of college into the project. He works physically at their office.  I believe he studied computer science (although I can't recall 100% at the moment).He has been with the company a couple months now and was started, by the project manager, on testing and getting familiar with the app and for about the past month, has been assigned small bugs and features.The thing is, in that time, he has only committed code once and it was code that I basically walked him through and wrote out for him. (I thought it would be beneficial for him to see the working solution after he had spent days trying to get it to work).I have had a few calls with him and some pair programming sessions but he is spending days getting frustrated at simple JavaScript code that should really not be that difficult even for a junior developer.  I am beginning to think that maybe programming is not a good path for him but want to make as much effort as I can to helping him find solutions on his own and help him improve.This is the first time I have been in a position of having to provide training and mentoring.  Being remote probably makes this much more difficult as well.What can I do to help him improve and to get him going?
How to mentor junior programmer who may not be a good fit for programming?
training;junior programmer;mentor
Depending on where he went to school he may not have more than a few months experience doing very trivial things in one language.  That can be fixed, but make certain it is worth the effort.It sounds like you need to tell if he can be salvaged or not.put the code away for a little whileexplain a small to medium sized problem that exists in the projecthave him explain to you how he would solve it - no code, no patterns, to practices, just native tongue or diagrams explaining what needs to happen at a base level.If he can come up with a half reasonable solution or even a bad solution, but by thinking through the right problem solving process he can learn the code.  If he cannot think through the process of coming up with a solution correctly you probably cannot teach him how to think better.Also make certain your management understands the situation or you are going to be doing two people's work before too long until your new guy catches up.