Always Strive to Be Mentoring and Mentored

Being a software developer means constantly learning. New tools and new techniques are introduced almost daily, and keeping up with all that can be a challenge. Scott Bain, who is my mentor and dear friend, says, “Always strive to be mentoring someone and to be mentored by someone.”

I could not agree more.

As a teacher I get to mentor thousands of developers and, again, I can attest to the fact that the best way to learn is by teaching. I’ve learned so much from my students and by translating my knowledge into learnable chunks that others can easily grasp. As a developer I draw on my many colleagues and associates to introduce me to new ideas and teach me new skills.

Time and time again in pair programming I come across a tendency to turn inside and to get isolated—I think we’ve all been there. But when I work against that little cynical voice inside that says, “Don’t do it…this is going to be bad…you know this is going to go bad…” it never has gone bad.

Having had a chance to work with over 8,000 developers I feel as though I’ve assimilated them and they have assimilated me. I can draw on their knowledge and I know many of my students have drawn on mine. People have told me that when presented with a tricky problem they’ve asked themselves, “Well, what would David say about this?” and an answer would come into their heads. And I do that with them as well. We’re all in this together.

And by working and playing well with each other, we can build code that works and plays well with other code.