Contributing to Open Source - Week 2
December 27, 2021This week I was finally able to find and work on two different issues inside two different open-source projects. In addition, I had the opportunity to learn about various libraries and tools including the MUI React library, TypeScript, Tornado, among others. Lastly, I had a job interview today!
Before discussing the issues that I am working on, a quick note that the tech stack I’m currently polishing is Python/JavaScript. In addition, the two projects that I’m working on are: fiftyone, a tool for building and validating datasets for AI/ML; and treetracker, a web app to track planted trees in a map.
For the tree tracker project, I took on an issue related to creating a new component using React and MUI. It is a relatively easy issue, aside from the fact that I have to learn how MUI works, the biggest challenge being the responsiveness and the testing. I have minimal experience with testing, just some unit tests here and there, and UI testing seems different, so I will have to work on that this week. The project itself follows the Test Driven Development principle and uses Cypress as the testing tool.
Planter’s quote card component (WIP)
On the other side, on the fiftyone project, I took an issue related to the application’s state. In summary, there is a specific workflow that led to the cluttering of the state’s array, and the proposed change was to validate a new state before adding so an update to the previous state could be made under some circumstances instead of adding it. Here I stumbled upon an issue (pun intended) where I proposed a change implemented on the backend but the project’s team was looking for a solution implemented on the front end. This project uses two different stacks: Python for the backend and React with TypeScript for the frontend, I am not comfortable with advanced React and TypeScript so at first I was nervous about trying to implement a change in the frontend but I took on the challenge.
| Friendly advice: always challenge yourself and get out of your comfort zone, you will reach new heights in no time! |
|---|
As an extra note, I had a job interview today. It was very interesting, because it was like a recap of the last four years of my career; I was asked about Data Structures, Object-Oriented Programming and Design Patterns, among other things. I was beginning to wonder if they were really useful in real-life scenarios, because I hadn’t had the opportunity to use them outside of the classroom, but apparently I was just not ready to play in the big leagues!
I have a lot to learn yet, but as I am trying to communicate through this blog I am eager to learn and always open to new experiences. Hopefully I get the opportunity to keep cultivating my skills and showcase my talent while contributing in a project that will be used by many people. Good things are coming.
Keep learning!