You should… A lesson from mentoring

When I started mentoring junior developers, I had a bad habit of saying things like “you should…<my opinion>”. When giving directions, it’s direct to the point, however I don’t think phrasing directions this way helps new developers learn as quickly as guiding them in a way that requires them to make decisions themselves. Today I find myself replacing those “you should” moments with phrases more like “Have you considered…?” or “In my experience…” or pointing them towards an article or specific MSDN page. Sometimes they’ll be able to explain what they want to do but don’t know the technical term for it. By supplying one it’s much easier for them to google for more resources. Once they have some good context on the problem, I’ve found that simply following a Socratic line of questioning about the details of the problem is very effective. Usually they interrupt with me with “Oh I have an idea now!”