DukeofHouse
Senior Member
One thing I do is tell them to think of a program they'd like to see that doesn't exist yet, or doesn't exist with the features they have in mind. Then do it.
Helps them learn how to think instead of just work from instructions given
I agree with this...
On the one hand, you say you want him to add value, but from the rest of the comments, it seems like you just want him to code. If that's the case, you should provide him a detailed spec (preferably bite sized chunks) in that gives him complete direction and he'll just transpose that into code.
If you do want him to actually add value, i.e. determine best approach/method, optimization, etc. that's a different story... Even without the typical experience that's required for this, he's unlikely to add any value to something he doesn't understand. Rather give him a problem that he understands and is passionate about and let him work on that. He can still use ~25% of his day doing more administrative stuff for your core business like documentation, reporting, etc. It's a few weeks "throw away" time wrt your core deliverables, but will greatly benefit him and you in the long run.
Either way, coaching a junior is tough - I know this first hand. It's a rewarding experience though and we all know we need more good people in this field... Good luck!