Venturing even further beyond into the realm of open source

The sheer vastness of the collection of open source repositories is intimidating at first glance. Where do I even begin? What projects do I contribute to? I should first take stock on my strengths and interests. What are my core competencies? What can I offer? What am I interested in working on?

C/C++, Java, and Android development are areas that I am most comfortable with since I have had some experience working with them at school, and in hackathons. I particularly enjoyed working with C/C++ within the context of robotics and machine vision. There is a certain visceral appeal to being able to directly control hardware on a microscopic scale. Overcoming the challenge of interacting with the low level minutiae of hardware is incredibly satisfying because your code has a direct effect on what the hardware does.

I also enjoyed Android development using Java because of how pervasive the Android platform is. Developing Android applications feels very handy because many people have Android devices. Additionally, in recent years Android apps can now be written in Kotlin, so I would like to try my hand in that as well.

Frameworks that I would like to learn more about are the popular JavaScript frameworks used in web development, such as Node.js, React.js, Angular.js. Jobs for JavaScript technologies are in high demand. Additionally, React Native code can be compiled into different platforms, making development much more simpler by having a single code base that supports multiple platforms.

A potential open source project that I want to contribute to is the Brave browser project. It is a Chromium-based web browser focused on performance, privacy and security. It is a browser available for desktop, iOS, and Android and features a built in ad blocker. By blocking ads from loading, it quickens loading times. I want to focus specifically on the Android browser because of my familiarity with Android development, however I would need to learn the relevant parts of the codebase that pertains to the issue I would be working on.

The issue of privacy has also become a hot topic in light of recent events. By working on the Brave Browser I hope to gain a better appreciation of how personal data is gathered and how can it be protected.

The official Brave website can be found here:

The Brave Android repository can be found here:

Another project that I want to contribute to is the Electron project because it uses Node.js and its ability to leverage web technologies to develop desktop applications. To contribute to Electron, I would need to learn Node.js in relation to how it is used to build desktop applications. My interest in the Electron project stems from wanting to learn more about how to use Node.js and because Electron is used in Visual Studio Code.

The official Electron website and documentation can be found here:

The Electron repository can be found here:

A third project that I am interested in contributing to is the Node.js JavaScript runtime because many of the popular JavaScript frameworks use it, such as React.js and Angular.js. By working with this project, I will have a better knowledge of how JavaScript is able to create a runtime environment for other frameworks to run on top of. I would need to learn JavaScript and how it can be used server side. It is very useful knowledge because many jobs use these frameworks, and having internal knowledge of how Node.js works will give me a better appreciation for it.

The Node.js repository can be found here:

The official Node.js website and documentation can be found here: