Mentoring and Pair Programming
You're never too smart for dumb questions #
One of the main benefits of pair programming is the fact that you'll probably
encounter questions you've never thought of people. Especially if you pair
with somebody that doesn't have much knowledge of the programming language and
you are trying to teach them. It's refreshing to get questions from an
inquiring mind that has just been recently exposed to something completely
new.
I don't consider myself an expert Python programmer, especially since I always
get asked questions I can't answer. I know how the language works, and it's
features, but I still learn a lot from getting asked very specific questions
that I normally don't think of. Usually the questions pertain to things within
the programming language that I gloss over, or haven't fully learned.
Being asked questions also forces you to reinforce your own understanding. I
try my best to think of analogies as answers if possible, trying to connect
something abstract to something more tangible. This is how I learned most of
everything I was taugh in uni, taking abstract concepts and thinking of them
in a way that makes them concrete.
For example, I was asked yesterday about Docker, and how Docker works within
our development environment. Something that is difficult to do is finding the
right balance between too much information, and too little information. To a
beginner, eyes get glossy when you start delving into very technical jargon,
so you have to find the right balance. I explained that Docker is like an Ikea
instruction manual, very simple and no words; no matter what language you
speak you can build the same final product.
That might've been a terrible analogy, but I never really thought about what
Docker was before, only what it could do and how we could use it.
Moral of the story: Seek out mentoring/pairing opportunities because you will
learn more, and it's good fun.