Nicole Carpenter
Web Developer

Pairing Tour Day 2


06 Oct 2016

Today, my second day pairing with Malcolm, we virtually met from two different sides of the city. It actually worked out well that we were pairing remotely because I was able to work from home while waiting on a washer machine delivery. Now, I have worked from home on a couple of previous occasions, but today was a lot more productive because pairing remotely forced me to remain focused, which is not the usual state I occupy in a solo situation. I need the accountability of having people around me, otherwise my mind wanders to all sorts of places.

Today was full of newness and the pace was much quicker than yesterday’s pairing introduction. We were again working towards LFO stories for a major chunk of the time, but we additionally spent the first half or so of the day working towards a GBR backlog item. GBR is a recruiting platform that was actually build in house by 8th Light people who still are employed, so it was interesting to see a full scale project already in production that was not built from an existing client base application.

For GBR, we were wading through what all would be involved in upgrading their application from ruby 1.8.3 to 2.3.0. The application was using apt-get, which was, as I learned, an inconvenient alternative to using rvm for environment management. The reason it was inconvenient was that upgrading versions could have been as easy as changind a version variable in one place, however that relied on apt also being updated to recognize that new version. Additionally, like all less popular tools, we found that examples were non-existant for what we were trying to accomplish.

Malcolm introduced me to Chef, one of the I’m sure several tools I will try my hardest to keep in my head. Chef is an environment management tool that uses “cookbooks” and “recipies” as different modules. I have not gotten into DevOps before, so I had a quick soft introduction. Malcolm expressed that he did not have a lot of experience with it either. Since 8th Light built this application from scratch, it reminded me of the company’s broad knowledge base, which is not unique to consulting, but still a valuable asset both to the company and myself as a curious and fresh developer. I under-utilize the support helpline, even for my structured and familiar curriculum, but if something more complex did come up on a client, it is refreshing to know that someone on the force has probably faced the same issue.

I have not worked with virtual environments, which was not something that I had even considered, but it is a regular part, it seems, of the job. I saw Malcolm take a few commands to set up his environment once he was logged into their server, and those are options that I am going to have to pick up as I go. I realize that a weakness I face is with shell and bash commands and customization, I guess because I have really never had to set up my own machine. That is going to be a point that I should really work on before I start working because those are probably in the fundementals bucket.

One of the neatest things that I saw while pairing today was Hubot, which was a Slack plugin that allows for task automation and site deployments. Malcolm suggested that, while Hubot did streamline some things, that it had its limitations as well, for instance it only allows for deployment to the master branch, and not alternate destinations. I will have to look into that because I am curious as to how it works.

Towards the end of my day I actually got to contribute code to the application. Malcolm had a task that I saw him complete yesterday, which resends an updated user agreement to a client when there is a change made to that client’s information or the agreement. It was one of those small, requested in slack, tasks, but it was fulfilling nonetheless. Additionally, I contributed a data manipulation task which used a CSV file to change the values of several records using a quick import script. I was also able to see that move from the QA server to production, which was a task made slightly complicated due to the fact that we were operating in a secured server environment through SSH, though still completely manageable.

I think that overall, that would be one of the big takeawaya for the day. Even though questions came up frequently, the work was manageable. I was really concerned that once I get thrown into client work, I would be asked to solve the worlds math and physics quandries, but that is not really what the job entails. It is a lot of repetition, a lot of being familiar with the environment and application, and a lot of making sure you are spelling things correctly. Another big aspect of Malcolm’s job, which I spoke on yesterday, is communication with the client. I am looking forward to seeing how different that is on the consulting side on Monday when I pair with Kevin in Pekin.