Mark Sanghoon Kim Empathy is Key

Pair Programming is Productive Programming

Just finished my first week at Hack Reactor LA, and I am more excited to learn and code than I was at the beginning of the program. The past seven days have gone by very quickly, and I wanted to talk about how pair programming has helped me grow as a communicator, as a learner, and as a problem-solver.

In case you are unfamiliar with pair programming, here is a short video about the agile practice.

As a communicator

Communicating effectively can be very difficult. This is especially true when working in teams. Success or failure is often directly related to how well the team is communicating. We spent almost 4-5 hours a day working on code assignments in pairs, and collaborating with a pair forced me to grow my communication skills. As a navigator, I had to carefully verbalize my thought processes. Oftentimes, our ideas make total sense in our heads, but the practice of expressing our thoughts requires us to think more deeply about the problem and the plan to solve it. As a driver, I had to learn how to listen effectively, and evaluate the information I was being provided. Effective communication requires more than expressing your thoughts clearly; it also requires listening attentively.

As a learner

Pair programming also helped me grow as a learner. Working in pairs requires more thought and effort than working alone, but every time I paired with a partner, I learned something about myself, the problem, my partner, or about software in general. One reason why pair programming helps me learn is that knowledge is constantly shared between myself and my partner. Hearing my partner’s thoughts and strategies to approaching the problem opened my mind to different perspectives. I was fortunate to have two partners this week that I worked well with, and I learned a great deal from both of them. Spending time pair programming allowed me to learn how to code more efficiently and quickly than I would have coding alone.

As a problem-solver

Like I mentioned above, having another perspective on solving the problem helped develop my own problem-solving skills. During our pairing sessions, we often would catch each other’s mistakes, and I made sure I was picking up on what tendencies or bad habits I exhibited. The design quality of the code we wrote was undoubtedly better than the quality of code I would have wrote on my own. Because my partner and I brought different prior experiences to the table, we were able to think through more diverse solutions and sniff out any bad ideas we came up with.

Hack Reactor Week 1 Recap

I had a great first week at Hack Reactor. It is an exciting time for all of the students and an exciting time for staff as well. It was nice meeting the senior cohort and hearing about their junior experiences. Overall, there’s an enthusiam and energy about all the people in Hack Reactor.

In our first week we went over:

  • implementing underscore.js functions
  • recursion
  • data modeling and classes
  • scopes and closures
  • keyword this
  • pair programming
  • data structures and complexity

The best part of the program so far is the pair programming sessions. The lesson plans are carefully thought out and if we ever get stuck for too long, a teaching fellow is usually available to ask us questions and point us in the right direction. I’m hoping to write a post once every week or every other week. Until next time!