I’m generally a visual or visual-kinesthetic learner. I think that’s one of the reasons I really enjoy learning with Flatiron School. There’s a lot of reading material, code alongs, and labs. There are some videos and supplementary videos, but the main source of learning is visual and kinesthetic. And I’ve become really comfortable doing all of these things. But this week, I started something new: walking someone else through my code. It. Was. Terrifying.
I met with my cohort technical lead for the first time. I wasn’t really sure what to expect, but it started off with introductions, sharing experiences of motherhood. All things I’m comfortable with. And then she dropped the bomb. “What are you working on? Can you walk me through your code?” Say what?! That’s when the panic started. Why would I panic? Because what if I don’t say the right thing? What if I don’t know what I’m talking about? What if I don’t belong here. Now, I’m a pretty logical person, and I know these are normal thoughts for newbies like me, BUT, that doesn’t mean I didn’t want to run for the door. I’m an adult, though, so I maintained my composure, and I tried. And I did it all without my forty-six pages of Ruby notes that I constantly refer to.
Although it’s still terrifying, it’s worth doing, whether to a Rubber duck or Newt Gingrich or a tech coach or mentor, and here’s why:
-
Hearing is learning too. I have to focus really hard to hear and know at the same time. It’s not a natural way of learning for me. So thinking about what I’m saying helps to internalize everything that comes out of my mouth.
-
It gives you a chance to think about the “why?” Sometimes my code is a bunch of guesses. I know I need to solve a problem and here are my first three guesses. I’ll admit, I’m not always sure of why the one guess that works, works. But talking it through with another person while pair programming or to your rubber duck kind of forces you to think about the why. When you’re pair programming, sometimes you don’t know what you’re doing, but you’re partner does.
-
Learning by teaching works. There’s a difference in writing vs. explaining. Explaining requires you to think about it from another person’s point of view. You have to think about how to explain it to them in a way they can understand it. So, by default, you have to understand it first.
-
It takes you out of your comfort zone. I HATE being taken out of my comfort zone. But…I also love it. Because I always learn and grow. Sitting in front of my computer, by myself is easy. I don’t have to worry about not sounding like I know what I’m doing. But let’s be honest, most of the time I don’t totally get what I’m doing. This pushes me to “get” it before I move on, to verbalize the thing. To confront the concepts that I don’t really understand.
So today I’m giving myself permission to talk to myself. I’m giving myself permission not to know how to explain everything that I’m doing. But I’m also telling myself to pair program with someone who can exchange ideas or to find out how I can understand it better, to be able to teach it clearly to someone else. Back in April, I wrote about the house as an analogy for coding. I’d like to get to the point where I can dive into the wiring and electricity. And then maybe one day, I’ll be the one on the other side of the screen, listening to a newbie walk me through their code.