Train By Example

An approach by an experienced developer to increasing competency in others by presenting typical solutions to development issues and encouraging the others to follow these examples in their own coding.

The main thing here is that the experienced developer must show others how to do the RightThing. He does this by consistently applying principles to his everyday work. By illustrating the concepts that need to be communicated in his code and by explaining the more "delicate" parts of those concepts, he teaches others without putting pressure on them to learn (TrainByOsmosis?). This works well in teams where not everyone is at the same level of skill. It allows developers to learn at their own pace and creates an atmosphere of encouragement rather than enforcement.

This method puts a certain amount of pressure on the experienced developer as he must never let his guard down even though there may be no-one to chastise him. His failings (failure to adhere to conventions, failure to TestFirst, etc) will ripple out and affect how the team works. One solution would be for him to get help in the form of another experienced developer. The two can the spot-check each other and make sure that the RightThing always gets done.

The developer in question must also be prepared to be bombarded with questions and problems as the other developers will most certainly have difficulty with one thing or another. He must be patient and explain fully when necessary (and hold meetings if he answers the same question more than twice). See also ExpertInEarshot.


EditText of this page (last edited November 6, 2003) or FindPage with title or text search