Pairing Tour: Day 1

This week I started my Pairing Tour, where I pair with various craftspeople on various teams around the office and show them that I am able to effectively make positive contributions on a number of teams' projects. Throughout my apprenticeship I have worked in a number of technologies, so I feel properly equipped to jump in help contribute, even if it's just for a short time. Today, however, I was excited on a travel app written in Clojure.

Coming from a Java background, learning a functional language like Clojure had a steeper learning curve than learning other languages for me. Over time though, I have learned to be able to learn to appreciate the functional paradigm for what it offers.

I had some experience during my apprenticeship working on a Clojure minimax api service, but many aspects of it was doing a lot of Java interoperation. But nonetheless it was a great project to get started learning the functional paradigm. So, having the opportunity to get some experience working on a big project in Clojure was really cool!

Since it was my first day on this project, much of the morning was spent getting ramped up on the project. I knew sort of what the app did, but of course I wasn't familiar with the code base or project conventions and workflow. Today I didn't do much of writing code, but I did more observing and understanding how everything is pieced together. We kind of did a trifecta pair, where me and two other craftspeople worked on a story where we had to fix some branding images and their order on a certain page on the website. Things that I was unfamiliar with was working with databases in Clojure, which I thought was good experience testing databases using Korma.

After doing some Clojure back-end stuff, a craftsman and I went on some front-end javascript. After working on a CoffeeScript project for a month, this stuff was pretty familiar and was a bit refreshing. I felt I contributed a bit more on this side of things, which always feels good. We did have some problems with changing some values in the DOM, but it ended up being some code that we took out and forgot to put back.

I did learn some cool new tools pairing with somebody I haven't had much time to pair with. My mentor helped prepare me for a pairing tour by familiarizing myself with vim, so I was comfortable there, but this time my pair was using Emacs. After seeing him work inside Emacs, it really makes me want to give Emacs a go. I always hear about the debate whether one should use Emacs or Vim, but I feel like its a hard comparison. Emacs is a very powerful tool, but vim does text editing as well as you'd expect and the commands are pretty easy to learn.

Overall I really enjoyed working on this project. We got the story done we needed to for the IPM tomorrow, which is great. I am looking forward to coming back on Wednesday to work with another craftsmen on this project.

🙏🙏🙏

Since you've made it this far, sharing this article on your favorite social media network would be highly appreciated 💖! For feedback, please ping me on Twitter.

Published