In ages past, young men would be apprenticed out to a master tradesman. After a period of apprenticeship, they would graduate to a journeyman and after years had passed, the journeyman was recognized as a master of their trade. As a master, it was understood that they would take on and train a new apprentice. Although our training mechanisms have evolved from adolescents learning a trade in the master's house to universities and internships, we still periodically evaluate each other's skills. Whether it's an end of course test, or an annual review, our culture presumes a progression from apprentices to journeymen to masters.
The key to this system is learning to mentor others while being mentored yourself. I don't mean a casual, learn-from-the-old-dude-with-the-three-foot-beard-while-you-work type of mentoring. I mean structured mentorship, with dedicated time on a regular basis to ask questions, banter about ideas, and most importantly, review code. I think we all benefit when we...