It has definitely been a busy October thus far. As I concentrate more on improving myself in the world of development, I have definitely had some ups and downs recently.
In late August I heard about Hacktoberfest 2020 by Digital Ocean, and I decided then that this would be something I try to strive towards. I have been using Open Source tools for quite some time, and generally beyond tools I create at work, I release my tools as free to use and hack.
Hacktoberfest was spurred on even further by continuing to work on Python projects at work and outside of work. While my current role is not primarily to write code, I currently assist maintaining our internal support tools project.
This entails creating tools, patching tools or porting tools primarily written in Bash Shell script to Python to improve their testability along with using a much more OOP approach to utilizing them. Creating the Python based tools is pretty straight forward. What I have personally found challenging were unittests.
One of my first tools to transition from Bash to Python at work took months to complete, mostly working on it on and off in my spare time, refactoring the code, improving how I handle things, writing better code and trying to overall understand unittests so that I could finally have it get pushed through.
A few folks at work have been instrumental in their help, support and guidance in better understanding the logic behind them and writing successful tests. However, I am happy to say that as of the past few weeks, I am successfully writing unittests and continuing to convert tools to Python.
Looping back around to Hacktoberfest 2020, it has been a good way to keep me interested in projects, trying to find issues on GitHub I felt I could contribute to improve with my contribution. Trying to keep the momentum and the drive is definitely encouraging me to continue writing code.
The work projects and Hactktoberfest have caused me to stop working as much on my Python data science certificate from the Free Code Academy, but I am hoping to start picking that up again. The journey definitely has a lot of ups and downs, especially as I work to understanding why something is not working, trying to track answers down and figure out a fix for the situation.
I did want to end this article with a few helpful resources that I have been able to utilize:
- This article on Medium has been quite helpful with improving my overall understanding of unittests, their puzzle piece on the development cycle as a whole
- This GoDaddy Engineering article has a number of useful test examples, running through good and bad examples and explaining why one method is recommended over another
- Another useful resource is Amos Omondi‘s article on getting started with unittests in Python that I have found beneficial in getting the fundamentals down
- Lastly, I have really been improving my note taking. I will definitely have to write something up about that too, however I have been using Joplin as my note app of choice, particularly as I am able to separate different environments to Notebooks and use markdown language I am familiar with