This year I did something I had been meaning to do for a while: contribute to open source projects. I always loved the idea of contributing back to the open source code I use so much, but spending time on my own projects took precedence. One thing stopping me from contributing to open source sooner was not knowing exactly how to get started. It's a common issue for many people because each project has its own contributing guidelines and level of openness to contributions.

However, with the little push from Hacktoberfest I was able to jump in and make some quality contributions in just a few weeks to complete the challenge of 4 accepted pull requests. I was even able to find a bug in one of Microsoft's projects! While my number of lines of code was relatively small, most time was spent reviewing open issues, understanding the code base, and trying to gauge whether I could solve the issue quickly or not. Some projects have labeled open issues with "good first issue" which are for newcomers to get started with. Having a set of projects participating in Hacktoberfest with this guidance allowed me to contribute successfully.

And I learned a lot in the process! Every project is different when it comes to the process for committing code. From conforming to style to running and passing tests there are a number of checks in place to ensure the quality of the project stays high. Though I knew git from private repositories, I definitely became more familiar with git commands and doing more nuanced things like resetting, rebasing, squashing, etc. I would like to keep contributing to projects that I use frequently, possibly even adding features of my own. It is time consuming to filter through issues and find a good one to create a pull request for. I may even open source some of my own code if I can refactor it and clean it up enough to be used by other people.