Aug 16, 2016

Mentoring: Let's start at the very beginning...

“…A very good place to start
When you read, you begin with — A, B, C!
When you sing, you begin with — Do, Re, Mi”

These are the famous opening lines of Do-Re-Mi from The Sound of Music — when Maria is trying to teach the Von Trapp kids how to sing.

So, why the reference to a musical? Well, it’s more so the teaching aspect that I want to touch upon.

For two weeks Kanya interned with us and it was great having her in the Hypenotic space.

I must admit, I was pretty nervous about the prospect of teaching. I totally questioned whether I was even qualified to do such a thing. It’s only been a bit over a year since I was in a situation similar to Kanya’s at HackerYou. I was in a new environment where I was about to jump head-first into a curriculum that I thought was going to go over my head.

So, if with reading it’s A, B C.
And with singing it’s Do, Re, Mi.
When you code, what you begin with…?

Well, I started with observing. On Kanya’s first day, I played it by ear. I didn’t have a set schedule or list of concepts I wanted to cover because I wanted to gauge where we were starting at. Then on the second day, I had an idea of things we could work on and asked myself: What would I have wanted to know when I first started out?

Easy. The basics (which I know can mean a lot of things…but that’s a whole other blog post). And it was starting with the basics, and running with that, that made three things stick out…

1. Starting with the basics makes you look closer, which is good for both parties.

I find a lot of the time developers start using tools just because they were thrown into the mix in their curriculum. There’s usually a quick introduction to what the tool is, but then you start learning by doing and automatically use said tools. And then it is what is — the tool is one of the many cogs in an operation.

One day Kanya and I were working in the command line and I used the command apachectl restart. She asked: What does that mean? I was kinda stumped. I knew that I used this command to restart the server, but what exactly did it mean? I had to look it up.

apachectl is a front end to the Apache HyperText Transfer Protocol (HTTP) server. It is designed to help the administrator control the functioning of the Apache httpd daemon.

Nice — good to know, and it opened a whole other door of questions. I know everyone doesn’t need get into the minute details (and sometimes it over-complicates the situation), but it’s not bad to know, and definitely fleshes out an explanation. As a teacher, there’s the responsibility of not just throwing concepts around without a decent understanding of the parts behind the sum/whole.

2. You very quickly realize that you’ll have to have multiple ways to describe a concept — specifically in accessible ways.

I was teaching Kanya about git commands, and she was getting stuck on the whole idea of the staging environment and where it sat in the grand scheme of the git workflow. Again, I was kinda stuck too. To me, it all was what it was — git add “updates the index using the current content found in the working tree, to prepare the content staged for the next commit”. But of course that wouldn’t make sense to someone who was just getting introduced to git/version control! Duh, Emily.

Kanya mentioned she understood things better when she could come up with a way to explain a concept in relation to people doing everyday tasks. This made total sense, and was something I heard a lot. So, I sat on it, and the next morning presented her with a people-focused-everyday-task equivalent to a simplified git workflow.

Essentially, I said it was like packing and moving things to another house.

In a nutshell:

  • You make edits to files, which is like adding items to/removing items from boxes.
  • Then you tape up the boxes and load them onto the truck, which is like the staging environment on git — when you use the command git add.
  • Now we give the driver a checklist of what’s on the truck, and sign the papers. I’d equate this with git commit — you’re providing a snapshot of what’s happened and getting ready to send off the files.
  • Finally, we drive those boxes to another house. File-wise, we’re pushing (git push) the changes to the remote repo.
Here’s my incredible drawing — we had a good laugh about this one :)

3. You take in that this is all part of a (lovely) cycle.

This was a nice realization. Starting from scratch was a reminder that we all start from somewhere, and get to where we are through varying experiences (this is getting pretty existential and sappy haha). As Bill Nye says, “Everyone you will ever meet knows something you don’t.” We all have something to offer each other. I definitely learned a lot from working with Kanya. At the end of it all, I hope that she’s able to pass on the knowledge she’s picked up to others in need of a hand who are at the beginning of something new.

And of course, here’s a gif! I also hope, for Kanya, that this all felt like an iota’s worth of what graduating from Hogwarts feels like.

Originally posted on Hypenotic's blog in Aug 2016.