Good First Commit

Asad Mansoor
Since Last Commit
Published in
3 min readAug 22, 2019

The constant desire to learn something new has become second nature to me. Whether it be a new language or framework, it’s always exciting to start something fresh. Like for most people, the art of learning how to learn was first introduced in school. As some people could master a topic by simply reading the textbook, others preferred a more hands-on approach.

Personally, I loved going straight into the technical hands-on part. A lot of my side projects originate from ideas or technologies that I wish to try out. This way, I can meet my objective as well as create something of value that I could potentially use as a tool.

However, building a fully functioning side project is often hard work and tiring. For most of the time, I would be working on other things to support my project, instead of working on a particular component that sparked my curiosity in the first place. Through this experience, I have explored a different route to learn something new rather than building a side project from scratch. And that route is to contribute to open source software ❤️.

My experience with open source

A few months ago, I was looking for a new challenge. I found a new architecture model called MVVM (Model-View-ViewModel), that I really wanted to try out for building Android projects. As clueless as I was, I stumbled across a GitHub repo managed by Google Samples. Although the repo was in its early stages, it seemed like a great idea for Google to develop sample applications on the technologies they have built. While poking around the project, I came across an issue labeled as “good first issue”. The issue itself seemed really interesting and it was something that I felt I could contribute back to the project. So I gave it a try and opened a PR hoping for the best.

What happened next, really surprised me. I had other developers commenting on my PR and providing useful feedback on my code. After a few iterations of back and forth of discussions, the maintainer of the project decided to accept my changes and merge it into the master branch. As happy as I was, it was a great learning opportunity for me.

GitHub has a ton of cool open source projects that are backed up by great companies. It often feels intimidating at first, whether my contribution would be welcomed or not. But, there’s a large community of developers that share the passion of contributing to open source software. Not only this is beneficial for new developers to get exposure to developing software, it’s also helpful for project maintainers to attract new perspectives.

Why open source?

Regardless of your experience in developing software, contributing to open source software is a great way to become a better developer. Here are some of the learning opportunities I feel are beneficial for everyone.

  • Learning the codebase: It’s an important skill to be able to learn and contribute to a large codebase. This will help you optimize your solution for any future changes.
  • Delivering real impact: It’s always a great feeling to be able to help by solving a problem that other people are facing.
  • Getting feedback: Collaborate with other developers and learn from their feedback.

Introducing Good First Commit

The hardest part for a new developer might be overcoming the initial hurdle of finding the right project. With so many projects to choose from, it’s often unclear of what kind of help might be required from new contributors.

Good First Commit allows you to discover beginner friendly issues on GitHub from various projects. Whether you are just starting or would like to learn something new, Good First Commit makes it easy to focus on one issue at a time.

www.goodfirstcommit.com

Give it a try and let me know what you think :-)

--

--