Fixed my first bug this week~

2 minute read

I fixed my first software-related bug at work this week! Super proud of myself, and this blog post is dedicated to kind of how I did it using what I learned (on my own personal time). I pushed the fix to gerrit , a code review repository software that my work uses, and am waiting for feedback. I also wrote a couple more useful Python wrapper scripts that utilize some cool intermediate Python concepts that I recently learned.

Coming from a test engineer role, I typically report bugs and propose new potential features, and file these as JIRA tickets. Due to other more important action items in the current sprint,  the developers that I work with did not have time to work on this issue; thus I took the initiative to fix this bug. Ironically, I had filed the JIRA bug that I implemented the fix for.

I do want to note that this bug was also a blocker to one of the tasks I had to do, but I was also genuinely interested in fixing it and enhancing my programming skillset.

In the fix and in the wrapper Python scripts, I used some cool intermediate Python concepts, including:

  • static methods
  • generators
  • recursion

Also, I familiarized myself with git and gerrit , which is kind of a code review repository for collaboration among teams. I have a GitHub , which is another type of code review repository, so I was semi-familiar with some basic git commands and functionality.

From some research I did this week, git is a distributed version control tool for tracking changes in files/code/programs and for coordinating work on these files/code/programs among multiple developers, and gerrit is built and integrated on top of git.

For more information about  gerrit , check out the this  gerrit documentation: https://gerrit-review.googlesource.com/Documentation/intro-user.html

Some useful git commands for me to remember are:

  • git log
  • git reflog

Looks like the personal time I put in is actually paying off! Hopefully the code review goes well~

UPDATE (March 30, 2018): I received a +2 on the gerrit code review , meaning my changes to the API were approved and merged! I also received compliments regarding how “beautiful” and well written the Python code was from the manager and a software engineer working under him. However, one of my other commits (with the wrapper Python scripts) was rejected (review label value of -2), since the manager suggested that I implement these wrapper scripts into the command line utility , instead of separate Python wrapper scripts, which I quickly fixed. I implemented a recursion argument into the  command line utility , and it is now one of the features of the API. That  patch set with this new feature was also approved and merged into the API.

See here for more details regarding  gerrit code review  and the  review labelshttps://gerrit-review.googlesource.com/Documentation/config-labels.html