Contributing to Open Source : Week 1

(This story is part of the weekly assignments for my internship at Nearsoft. I hope that some of the insights I learned this week can help others in their learning journey. Previously: Month 2, Week 4.)

Photo by Tobias Mrzyk on Unsplash

This phase is the last of 2020, and what a better way to end this year than by contributing to an open source project. Why? Because all the last phases and on my development journey I’ve been lucky enough to develop using NPM packages, frameworks and even full-stack platforms that are open sourced.

Someone else took the time and effort to contribute to a project that will make life easier for someone else. Either by providing tools to help them develop easier (like VSCode) or by creating npm packages that will help other developers focus on the Business Logic of their application.

Source code

This week my main focus was to get familiar and comfortable with reading someone else’s code. I aquired a better intuition of where to look for when I’m trying to find a particular piece of code in a codebase. It’s hard to point exactly what patterns I learned because I’m still gathering more examples by looking at more repos. However, I recognize the importance of developing this skill and, eventually, I want to feel more comfortable when facing a new codebase.

This week I also learned about how React.render() works under the hood, how to make Protected Routes with React Router and the differences between useState() and useReducer().

Open Source

This week I started to look for projects that I can contribute to. My main focus was to find Javascript projects that use React in order to study other’s codebase. I looked for open-source options on Then, I evaluated more than a handful of projects and now, this week I chose Mattermost which is an open-sourse Slack alternative. However, I am still setting up my environment and facing some Docker error that hopefully will get sorted out.


Also, something exciting that I learned is about Electron which “is a framework for creating native applications with web technologies like JavaScript, HTML, and CSS”. It’s very interesting to realize that some desktop apps that I use everyday like VSCode and Whatsapp are built using this framework. And, it also gives me an idea of the magnitude of projects that can be developed using it.

26 yo. Self-Taught Software Developer. I write about Career Change, Women in Tech and anything exciting I’m working on.