One of the pleasures in life is mentoring another developer, particularly when the other developer is smart and motivated to learn. This article, on populating a tree from a collection of paths, was the result of some weekend prep work and is a good case study on refactoring. By going through the process myself and documenting it, I was able to present the problem in general terms, and the person I was mentoring did the heavy mental lifting with only occasional guidance on my part. This worked because I was prepared — had I not done this prep work, I would have taken away from my mentee’s experience to actually solving the problem himself.
Article here.