Hacktoberfest 2023: A Beginner’s Journey into Open Source
Tags: hack23contributor, opensource, hacktoberfest23, hacktoberfest
Published: 2023-11-01 11:01:15

<a name="tldr" href="#tldr"></a>
## TL;DR

It’s been an exciting month of open-source contributions, and I’m proud to have been a part of it.

I’m reflecting on all the amazing things I’ve learned and so excited to share my experience with you. 

This was my second time participating in this amazing event, and it was incredible! 

I learned so much, met some awesome people, and contributed to some cool projects. 

Here's my GitHub account where you can see what I worked on: 👇

[Nabin Bhatt (@nabinbhatt) - GitHub Profile](https://github.com/nabinbhatt)

![shall we begin?](https://media.giphy.com/media/11fucLQCTOdvBS/giphy.gif)

Start reading from:
- [TL;DR](#tldr)
- [Let's start](#intro)
  - [Hacktoberfest 2022](#hf22)
  - [Hacktoberfest 2023](#hf23)
  - [HackSquad 2023](#hacksquad23)
- [Challenges](#challenges)
- [Feedbacks](#feedback)
- [Conclusion](#conclusion)
- [Comments](#comments)

<a name='intro' href='#intro'></a>
## Let’s start

Hi everyone, I’m Nabin, a tech enthusiast (I like to keep it simple). I want to share with you my experience of [hacktoberfest](https://hacktoberfest.com), a fun event where you can help open-source projects on platform like GitHub and get some cool rewards. 🎁

<a name='hf22' href='#hf22'></a>
### Hacktoberfest 2022

"I love open source, but I didn't know how to start or what to do". I was scared of messing up the code and doing something wrong. But in 2022, I took a chance and joined Hacktoberfest. I learned about open-source, how-to use git, etc. from YouTube videos, blog posts and tried to make four pull requests in October. And I am so glad that I did it again this year. 🚀

<a name='hf23' href='#hf23'></a>
### Hacktoberfest 2023
I got some cool badges and reward kit for completing  Hacktoberfest from its partners including @mlhacks @amplicationdev @thepracticaldev  and featured on the [Hacktoberfest 2023: Hall of Fame](https://www.holopin.io/hacktoberfest2023/hall/@nabinbhatt) These are the badges I got from hacktoberfest and its sponsors this year:

![nabinbhatt's holopin board](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mfpdsxntkcqnfznox6o0.png)

I was sad to hear that Hacktoberfest is no longer giving out t-shirts, but then I learn that they are planting trees in the name of contributors. I am proud to have made four pull requests and [planted a tree](https://tree-nation.com/trees/view/5245195) through my participation in Hacktoberfest. 😊

![Hacktoberfest reward kit claimed](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sz115ly0wzdkv954aj74.png)

<a name='hacksquad23' href='#hacksquad23'></a>
### HackSquad

I joined hacksquad this year, which is a community event that runs alongside Hacktoberfest, where you work with a team and contribute to open-source projects together. I wrote more about hacksquad in my previous post, you can check it out here: [HackSquad: Your Open Source Squad For Hacktoberfest - DEV Community](https://dev.to/nabinbhatt/hacksquad-your-open-source-squad-for-hacktoberfest-4nog) 

I loved hacksquad because I met awesome people and we contributed to open-source projects together. Kudos to my team members @biplobsd @shelar1423 @kritik-j @siren Just wanted to thank all of you for the amazing Hacksquad experience, you guys rock!

We are in the top ten on the leaderboard right now as I am writing this. We learned a lot from each other and had a lot of fun along the way. 😃

It was a great experience to be part of a community that cares about open source. You can learn more about HackSquad here: [hacksquad.dev](http://hacksquad.dev) 

![gif](https://media4.giphy.com/media/xFkgeu7dhfgqqxJqmj/giphy.gif?cid=7941fdc60u7xxsjnnry5916gxqtyi7nko2ugp2ofa2ell1tq&ep=v1_gifs_search&rid=giphy.gif&ct=g)

> If you’re new to the Open-Source and want to learn about its benefits and want to get involved, you can check my recent post here: 👇

{% embed https://dev.to/nabinbhatt/oss-a-guide-to-its-benefits-and-how-to-get-started-4j3o %}

<a name='challenges' href='#challenges'></a>
## Challenges

…that I faced and how you can overcome them 😉

Contributing to open source is fun and hard at the same time. You can learn a lot from it, no matter if you are new or pro. Sometimes you will face problems, here are some of the common challenges that I faced and how you can avoid them:

- **Finding suitable projects to contribute to:** It was really a daunting task when I first participated in Hacktoberfest last year, I was completely new to the open-source world. I was wondering where to start, what kind of projects are looking for contributors, and how to find issues that match my skill level and interest.
    
    A good way to start is by browsing the Hacktoberfest website, where you can find a list of featured projects and topics. You can also find projects on websites like, [firstissue.dev](http://firstissue.dev) or [https://up-for-grabs.net/](https://up-for-grabs.net/#/) You can also use filters on GitHub to [narrow down your search](https://github.com/topics/hacktoberfest) by language, label, or difficulty. Another open is to look for projects that you use or like and see if they have any open issues or feature requests that you can work on. You can also ask for recommendations from other developers on social-media or online communities like Discord.
    
- **Understanding the codebase and the project structure:** One of the most daunting tasks for me when I participated in Hacktoberfest for the first time was to get familiar with the codebase and project structure. It was so overwhelming to navigate through the big amount of code, files, and folders. This can be more challenging thing especially if the project is too large, complex, or poorly documented.
    
    A good way to start is by reading the README file, the CONTRIBUTING guide, and the CODE_OF_CONDUCT document, if available. These files contain the important information about the project ‘s purpose, goals, features, dependencies, installation, usage, testing and contribution guidelines. Another tip is to use IDEs or code editors that can help you navigate through the codebase easily, highlight syntax errors, autocomplete code snippets, and provide code formatting and refactoring options. 
    
- **Setting up the development environment and installing dependencies:** Before I could dive into coding, I had to set up my development environment and install all the dependencies for the project I chose. That was not easy because the project used a library I had never used before. I ran into some errors and issues while trying to install and run the project locally. 😅
    
    To avoid this, read all the installation instructions provided in the project’s docs or README file. Use virtual environments, so that can help you isolate and manage your dependencies better. Ask for help if you get stuck or encounter any problems. You can reach out to the project’s maintainers, or other contributors for support and guidance in online communities. 
    
- **Creating meaningful and descriptive commit messages and PRs:** After you write your code, test and debug, you need to commit it to your forked repository and create a pull request to the original repository. This can be challenging, especially if you are not familiar with git, like me last year.
    
    You can follow the project's commit message and pull request guidelines, if available. Another tip is to reference the issue number or link that your contribution is related to, so that you can link your pull request to the issue and track its progress.
    
- **Dealing with merge conflicts and code reviews:** After creating your pull request, you need to wait for the project's maintainers and reviewers to review it and provide feedback or suggestions.
    
    Always be patient, respectful, and open-minded. You can use git rebase or merge that can help you resolve merge conflicts and update your pull request with the latest changes from the original repository.

> Here is your step-by-step guide on how you can contribute to open source: 👇

{% embed https://dev.to/nabinbhatt/how-to-contribute-to-open-source-a-step-by-step-guide-2d6k %}

<a name="feedback" href="feedback"></a>
## Feedback

Here are some of the tips I would like to give to anyone participating in this event and want to contribute to the open-source software:

- Choose projects that interests you and match your skill level
- Read the contribution guidelines and code of conduct carefully
- Communicate with others via online communities (eg. Discord, Slack, etc)
- Have fun and enjoy the learning experience 😉

<a name="conclusion" href="conclusion"></a>
## Conclusion

I had a great time during Hacktoberfest, and I highly recommend it to anyone who wants to get involved in open source. 🙌

It doesn't matter if you are a beginner or an expert, there is something for everyone. You just need to be interested, ready to learn, and open to collaboration. You will not regret it!

---

Thank you for reading till the end. I hope you had a great day. 
You can find me on Twitter at [@thenabinbhatt](https://x.com/thenabinbhatt) 👋

![see you next time](https://media2.giphy.com/media/NwynINXfQKI4E/giphy.gif?cid=7941fdc6cdsmhx1yy77iyy2lqol97sqs55u0s7jfxnbm1s3u&ep=v1_gifs_search&rid=giphy.gif&ct=g)

### **Have you participated in Hacktoberfest this year or before?**

How was your **experience**? Comment your thoughts below. 👇