The Pairing Diaries: Week 4

Ending where it all began.

Monday, February 6

On this cold and rainy day, I continued reading “Grokking Algorithms” and I wrote a blog post about Dijkstra’s algorithm.

Tuesday, February 7

Today, I paired with Jayden at a client site. We primarily worked on writing integration tests for GraphQL’s error handling, but also reviewed a client written for an API and tried identifying an issue in a database record. I still felt that there was so much to learn about the ecosystem, despite being at the site a few times. There were new things I learned (e.g. const in ES6 still allows you to mutate objects and arrays) and things that served as a refresher (e.g. Apache Benchmark).

Despite some things being over my head, I really value my time pairing with Jayden since I have so much to learn from him. Despite not fully understanding the codebase or task, I always tried to reiterate the task at-hand aloud. I need to be more attentive because I felt like I kept making small mistakes. Jayden gave me advice on how to navigate consulting and entertained general questions I had. I feel like we operate in the same way: close all unnecessary tabs, delete all extraneous lines, and be consistent with your syntax. All in all, it was nice to switch gears between talking about the code, consulting, 8th Light, and life. My single most embarrassing moment was writing an error message that read: “The price isn’t rice” (I meant to write “right”).

Wednesday, February 8

I paired with Byron today. We were getting up to speed with C#, which is an object-oriented, statically-typed language. It also resembles Java, but I didn’t get too deep into it to differentiate between the two. We used a JetBrains IDE and it was seriously bugging out. There were times when it wouldn’t detect that a variable was being used, and you had to delete it and rewrite it (what?!!). The setup for the IDE seemed very involved and was a bit confusing at first, but we learned about language-specific quirks and started working on tic-tac-toe. I finally understood how to use Vimium (even though Jayden had recommended this before) and it made navigating without a mouse *amazing*. I also learned that Byron likes similar indie music and his alias is Luke Cage.

Thursday, February 9

I paired with, well, nobody. But I got to pet Gatsby (dog), drink nitrogen-infused cold brew, read “Grokking Algorithms,” and write a final blog post on the book.

Friday, February 10

In the morning, I paired with Tom. I learned a lot! We paired on Conway’s Game of Life in Ruby. We did that for an hour and then added the constraint of not using naked primitives. The purpose, he explained, was not to program the entire game but to rethink our approach about how we program. Tom also warned me that because of it, constraints would not lead us to write good code. The second half of our pairing was spent on learning how an Operating System works and writing assembly code! I thought this was really cool, and piqued my interest… as developers, we should know at a rudimentary level how all of this works.

In the afternoon, Matt and I decided to pair outside in the rain. Contrary to what you may think, it was actually nice! We decided to use the Exercism platform to write in Go. I was really proud of how we managed to clean up our code for the leap year exercise, repurposing certain methods and reducing each method to a single purpose and single line. Since you “publish” your responses on the platform, you’re able to view others’ solution and give feedback — which we definitely did!

I also got my challenges 😱 The end!