If you only do structured knowledge transfer you get to transfer whatever the expert thinks they should pass on and at best also what the novice thinks they should learn.
(author here) Absolutely agree. Another commenter mentioned that sometimes the best mentor is someone slightly better than you, and not some seasoned veteran. You want someone knowledgeable enough to give good (and correct) advice, but not so knowledgeable that they struggle to be comprehensible.
I took contact with an existing code base about a year ago.
Tbh I would have been better at explaining it after 6 months than I am now. I've already worked with it enough that I've internalized some basics and I'm sure I'll forget to mention them when explaining to a hypothetical new guy.
(author here) This is an interesting point. I hadn't considered it, but I agree. Or maybe to be more specific, I think the novice has some prior that their idea will work, and hearing an expert's disagreement will update their prior somewhat. If the novice has a high respect for the expert, that update will be large enough. But sometimes the novice just has to experience the pain firsthand in order to truly appreciate why something is a bad idea.
I often find myself smiling and joking with novices as I meet them coming back from a dead end, "yup, that's exactly the problem I suspected you'd have, now let's see how and why it happens, and how to move forward".
There might be some situations and some people for whom this would be immensely irritating, but for the moment as far as I can tell, it's going ok with my novices. But your essay opened up a reflection in me about how people perceive this and if I need to tone it down. Thanks!
Advice while struggling is the key. I mentor a few friends, but if I'm giving directions, it is kept vague so that the task is still done by themselves. A proper review is only done after they tried or completed the tasks. This way, they already know the scope of the problem so the solution is way more understandable.
You are forgetting the most important ingredient to what makes stack overflow what it is: the SEO that ensures closed threads always make it to the top of Google results.
Which may or may not be the full expertise.