Pair Programming with my Six Year Old Son.

I should be asleep. My daughter fell asleep at 7PM and will likely be up at 5:30, but I had to write about this while it was fresh on my mind. I think it completely changed the way I pair, forever.

I've been working on a badge system for communities to reward each other for things. I have another post upcoming about what's OK to give badges for and what badges are a bad idea, but more on that then.

He was off doing his own thing and I was off doing mine and I figured, "you know, I should really pair with him on this".

Best Decision Ever

We were just making some SVG icons for the project with Sketch 2. I think in hindsight, this was a WAY better idea than trying to work on the Ruby side of things. We could share and he could have an actual opinion about how something looked, how cool it was, how excited he was about it, or how terrible it was. There was a bit of "work" that had to be done on vectors, so it wasn't all instant gratification, but it was good to immediately see some result.

Immediately I thought to myself that I was not going to try and pair with a six year old on this -- he was going to be treated like any other pair I'd work with.

So we sat down and did the first thing every pair does: gets right back up again because we're out of snacks. I was going to refuse this at first since he'd already had some pretzels we'd baked earlier, but I'm treating him like any other developer, right? We have to be authentic about this!

So I took a few moments and explained the project. I had to assert that I didn't think he was paying attention once and that I really valued his input on it… no, that I REQUIRED his input on it to have it be successful. From this moment on he was IN.

I drove, but explained the things I was doing. We already had a badge template and needed to make some more badges. I told him about pairing at work and what I should expect out of a pair.

He started on the path of "oh yeah, that's good, I like that." He had lots of good things to say, But he didn't tell me what he disagreed with.

I said he should by all means tell me if something was terrible -- even if it as just a feeling that it was terrible and couldn't tell me why.

A Six Year Old Has an Epiphany, and so does his Dad.

The gears were SMOKING in his head. In a more words than I'll put here, I'd said that if he knew something was terrible and could tell me why, then to go ahead and do so. I also said that if had a feeling something was terrible to not say that it was terrible, but to say that he had a feeling it was bad and that I'd help him from there.

Of the things you'll never learn in school, I think there were about a dozen in those statements that you need in life. We immediately went into a feedback loop on everything, and sorry to the serious geniuses I've worked with, I had found the most effective pair I'd ever found. Granted, it was only through opening my own eyes that I could be the other side of that.

What is effective pairing but being inquisitive and childlike in your approach to problems? Jonathan is really attune to how others perceive him, as I think a lot of kids are, and it was completely mind-blowing for him that being successful on a project was a result of being able to be himself.

From reading him, I noticed that he relaxed significantly now that there as no expectation that this was going to be a heads-down work-mode sort of thing. And that's when my son turned into a full-blown first-class developer for an hour.

"Let's get more snacks!"

"That should be blue!"

"I don't like the shadow on that!"

"The pretzel is too squishy" (not the ones we were eating, but the one in a badge.)

"What's a gradient?"

I've always known that explaining even a feeling was something that was a success factor in a good pair, but watching that click in someone elses' head for the first time is a heck of a re-enforcement.

Now Jonathan, this is when we Github, I mean share.

Mind blown again.

"So Jonathan, we're going to put this up on the Internet where people I do work with can see it, make new badges, make our badges better, or do whatever they want really".

I'll let the README explain the rest: dankobadges README.

There was a moment of elation for him when it clicked -- DADDY GETS TO HAVE THIS MUCH FUN ALL THE TIME?!?

The Aftermath

I've not seen this level of meta-learning for a child in a long time. As he gets older, moments like this in schooling will become increasingly rare. I find this as something that makes me sad as well, it's how adults actually work together and get things done. It's more important for me to see meta-learning skills develop than for him to know many facts, and wow, did we push the envelope with a couple of icons.

I'm going to do my best to set aside two hours of pairing time for Jonathan once a week. I think this should be cirriculum in grade schools. Even if it was, I'd still do it, I've got things to learn too you know.

ps. The one with the bad word on it was hidden from view the entire time.