Taking advice from seniors

Andres Carrasquilla
3 min readJan 29, 2021

In Pernix we are encouraged to do pairing regularly to do our work, it allows us to complete tasks faster and more efficiently. As an apprentice it is also a great way for us to learn the ropes and understand how to tackle problems when you do it with more experienced people specially with seniors.

Recently I was working on a task and I had to use a gem, but I was having some trouble because the gem itself did not completely cover my use case, so I had to ask for help. The first thing I did was create an issue on the GitHub page and contact the gem owner directly. The comments the owner gave me helped me get closer to a solution but then again, the gem itself did not cover my needs so it was not much help.

After that I decided to ask someone else from Pernix. I started doing pairing with Cesar and I explained the problem to him and after we solved it, I knew I learned something important from that pairing session. Usually when I worked with other gems or frameworks all I did was look at the README files but sometimes that was not enough. After a while I saw that I could read the issues there and look for similar problems other people already had and see how they fixed them. In my case, I saw that other people had a similar use case as mine but there was no solution. That is when Cesar came in.

Looking at issues on GitHub or creating my own helped me in some ways, but what Cesar did was that he looked directly into the source code of how the gem was programmed to better understand how it worked and find a workaround to what we needed. This was a key aspect for me, I never thought of doing that before. By doing that, we saw that we could overwrite some methods at the controller to add the functionality we needed and thus solve the issue was I dealing with.

After we solved that, I continued working on the task, but I encountered another problem. When I was looking at how to solve this, I remembered what Cesar did and I decided to try that to understand better what was happening and find a way to solve it. I went back to the source code and discovered that a validation method that I needed was no longer being called because of what we did before, so part of the gem’s functionality was not working. After realizing this issue, I decided to implement that validation and call it where I needed it. This solved the problem for me and now the gem was working fine.

That pairing session was very important for me because I learned something new that I can continue to use on my daily work and thus understand things better and find solutions faster. I am about to move to a new project, and it excites me because we are going to have meetings to discuss what we did with Cesar and receive advice from him before making PRs. I believe that having that help from a senior is going to be an excellent help for us who have less experience and I hope to learn many more things from him and this new project.

--

--