Lisa Huang Logo

Lessons learned from pair-programming

A huge factor that drew me to Flatiron school’s Full Stack Web Developer program was the seletion of real-word, problem-solving projects! I have been looking forward to my first project - building a Ruby CLI gem.

It took a few months to get to this milestone, and I was waiting and waiting to see when I’d finally reach the CLI Data Gem Project page. And finally, I have arrived!

The previous lessons and labs definitely help to set us up for success, especially the Tic-Tac-Toe with AI lab where we had to collaborate with a fellow student. I found my pairing buddy through Learn Slack channel, and we took three days to complete that lab. Through the process, I learned a few lessons:

  • When pair-programming, I got to observe different thought process! My coding buddy, Lara Matyushenko approached the problem differently from me. I tend to dive straight in, solving each exercise through TDD. Progressing as each test pass. While Lara approached the problem from a big-picture perspective, seeking to understanding all the moving parts before she proceeds to coding. We balanced each other out well.

  • Talking through a problem really helps to solve it! Since learning remotely is quite a lonely process, it was refreshing to talk through problems with another person! Another friend of mine call this the “Rubber Ducky test” - when in doubt, talk out loud to your yellow rubber ducky (or any other props) and the solution may emerge!

  • Leverage your resources! Lara and I were stuck on a few aspects of the lab, for example coding the CLI logic to return different options based on user input of Solo/Two player / Two computer option. We posted questions on Learn frequently, and chatting to different TAs helped to unstuck us!

  • Patience is important. Lara and I both had areas we were stronger in (e.g. Array functions vs. Loops), and we both grasp ideas at different rate. There are times when I will explain a concept to Lara and vice versa, and it was important to only move forward once both of us are comfortable with how we arrived at the solution. From my past work experience, this echoed with the concept “A team is as strong as its weakest link.” Unless all team members are on the same page, it can be risky to move forward with a project! Teammates may be confused, and may contribute less actively as the team goes down the rabbit hole.

**With all these lesson fresh in mind, I feel ready to tackle the Ruby Gem CLI project! **

Given that I went nomadic last year, I thought it would be fun to create a travel-themed Gem!

After searching through some of my favorite travel websites, I decided to scrape the data off Lonely Planet’s website. On the website, there’s a Travel Inspiration section where users can explore destinations based on themes.

I will document my process of ideation and development in the next blog!