Rick Winfrey

Pairing Tour Day 3 - Mike Ebert

March 09, 2013 » 2 minutes (530 words)

Pairing tour day 3 led me to spend the day with craftsman Mike Ebert. I was excited about pairing with Mike because when I started as an apprentice Mike was nearing the end of his apprenticeship, but we got to pair a few times together and I always enjoyed working with him. This time around though, instead of working on a Java server, we worked on a client code base helping internationalize an existing application.

We spent the morning working on getting some tests passing to verify that localized yaml files would be correctly loaded when a user selected a different language from a list of available options. As the application is a Rails application, we were using Rails [I18n][http://guides.rubyonrails.org/i18n.html] gem to hep facilitate localization. Mike already had put the internationalization pieces in place, and had localized dictionary files for the translations of specific terms. Our job was to take the existing structure of the application which included a fake dictionary yaml file, change the tests to reflect this, and get it pushed up to the master branch so it could go through QA testing before the next deploy.

We struggled with the tests for a bit because we thought we could stub out specific methods on the I18n Rails gem, but it turned out to be far easier to include the fake yaml dictionary file in our specs directory. After a bit of configuration of the Rails I18n module, we were able to point the I18n module to our fake yaml file in our specs directory when the test environment was loaded up. The tests passed, and we were good to push to master.

Part of the morning was also interesting in that we shadowed real users using parts of the software Mike was working on. The purpose of shadowing real users was to get ideas about how to better design the interface, or what features the users would benefit from most that were currently missing. As a developer with limited exposure to the people using the software we make, it’s a valuable experience to see how they receive it and what pain points exist for them.

After the morning, we returned to 8th Light for our weekly standup and to enjoy 8th Light University. We were running late, but Mike had a bike. He said hop on the back, we’re going to make this. It was fun weaving through traffic on the back of Mike’s bicycle, receiving some strange looks along the way.

In the afternoon, Mike and I continued our pairing on an 8th Light internal application. Mike recently had changed the authentication system used by the application from Devise to OAuth. This change had broken some of the Cucumber features, so we dedicated the afternoon to getting those ironed out. We started the effort with 19 broken features, and when we called it a day we had 5 remaining.

When I look back at the day, it’s interesting to me that nearly all of the code we wrote was tests.

Next week I’ll be pairing with CEO Paul Pagel, craftsman Li-Hsuan, design craftsman Stephanie Briones and craftsman Patrick Gombart.