Pair Programming, Pair Blogging at Hacker School
Hacker School is an experiment and I am 5 weeks into it. I’ve written code I want to write for myself, had the opportunity to listen to many educational talks, and met a countless number of impressive and amazing people.
I can confidently say that I enjoy and learn from everything I do at Hacker School. But perhaps the single most beneficial thing I have been doing at Hacker School is pair programming. I’ve paired with a lot of people on schemepy, and with Susan Steinman and Tom Ballinger on a new bpython enhancement. From just these two projects alone I’ve learned so much about interpreters, environments, and Python in a fraction of the time it would have taken to figure things out on my own.
Because this is a post about pair programming, we decided to pair blog about our adventures.
Susan (the amanuensis): Steph has a much stronger background in Python than I do, so at first I was nervous about being useless. It turned out, though, that the differences in our backgrounds helped us approach the problem in different ways, allowing us a better bug attack!
It was really interesting to see how other people work through a problem, and just trying to understand why they thought that way. One of the things I really liked about working with you [Susan] was how optimistic you were, and how you didn’t get bummed out. Sometimes I look at a problem and I feel like, “I can’t solve this, I’ll never solve this,” even as I start to solve it.
I agree–it was so encouraging to have someone to laugh about small failures with.
My jokes were phenomenal.
Indeed. You also tricked out my git and sublime.
But seriously, working together, each setback was a chance to reevaluate the problem in a new way, and with two heads working together, there were lots of options on the table, so we never felt stuck. Having Tom, who was familiar with the program, around, helped, too, of course.
You were very vocal about saying, “Well, that didn’t work. Let’s try this.” I think that really helped because as soon as I think I can’t do something, I start thinking about other projects that I could do. Also, having someone to pair with forced me to focus on just one thing, rather than many things.
This was my first bug fix (and it’s also my first blog post!), and it was exciting to dive into code that I wasn’t familiar with. I hadn’t worked in the REPL at all until I worked with Steph (/didn’t know it existed!), and she showed me a lot of tools for understanding other people’s code, and my own code, and Python in general. It was cool to investigate and poke at bpython in that way.
Tune in for our next episode, as we squash another bpython bug, and debate committing our half-baked changes.