
Ask HN: How to structure coaching/mentoring for best results - meta_AU
I&#x27;ve been asked to provide some coaching to a junior developer to increase their proficiency in a couple of languages (I am external to the developer&#x27;s company). While we could just sit down once a fortnight and pair program solutions to tasks they are assigned at work, I&#x27;m not convinced that is always going to make the best use of the limited time we have available.<p>Are there any well thought out learning plans for things like this? Or any other resources that would assist?
======
avitzurel
This is 100% the way to go. (from experience) Pick a task off the backlog,
pair program, rinse and repeat.

I recently streamed a session like this @ my company (Trip.com) with one of
the junior developers

Part1:
[https://www.youtube.com/watch?v=wYsuclajEBc](https://www.youtube.com/watch?v=wYsuclajEBc)
Part2:
[https://www.youtube.com/watch?v=V-z7M4h3EzQ](https://www.youtube.com/watch?v=V-z7M4h3EzQ)

This was his task and we just built it together while I am teaching/asking
questions/explaining.

Important things to focus on

1\. Thought process - cannot stress this enough, it is the most important
thing to explain. Why are you doing X and just talk out what you think in your
head 2\. Explain everything 3\. Leave a lot of time for questions and make
sure you aren't impatient when a question is "basic". Make sure the engineer
knows he/she can ask anything, nothing is too stupid or too basic.

Worst thing to do IMHO is just do "something cool". Just do the work inside
the context of the environment you/him/she knows.

My 2 cents

------
quintes
Picking the language and then the specifics of what you want to improve
knowledge of is next. specific e.g in Python use OOP to build a x using (flask
or bottle and JavaScript flavor of the month here).

Phase things as well, don't try build a monolith in 4 weeks using 50 different
stacks. They'll lose the plot and end up trying 3 different JavaScript
frameworks and 6 different ways of nearly anything.

measure what it means to have achieved the goal, example a flask backend using
a user and customer model connected to a postgres db by Date.

Have courses, books and websites available for learning. Checkin on progress
and help them bring it back into order when they go off the path.

Then using the goal, the date and the measure of success, evaluate the
knowledge gained with them

