My First Hacktoberfest: A Journey into Open Source 💻🔥
Tags: beginners, opensource, learning, hacktoberfest23
Published: 2023-11-05 16:30:28

Hello, World 🌍!

Have you ever felt that electrifying mix of excitement and trepidation that comes with diving into the unknown? That's precisely how I felt when I embarked on my first Hacktoberfest journey. 

[For those of you who aren't familiar with [Hacktoberfest](https://hacktoberfest.com/), it's an annual celebration of open source software, encouraging individuals, regardless of their experience level, to contribute to open source projects during the month of October. Hosted by DigitalOcean and other industry leaders, Hacktoberfest is not just a month-long coding frenzy; it's a global community-driven event that welcomes beginners and seasoned developers alike to come together and make a meaningful impact on the world of open source.]

The world of open source had always been an enigmatic realm, and contributing to it seemed both thrilling and daunting. However, Hacktoberfest represented a unique opportunity to break free from my comfort zone and explore the vast universe of collaborative software development.

In this article, I invite you to join me as I recount my initial steps into Hacktoberfest, the challenges I faced, the lessons I learned, and the remarkable community that welcomed me with open arms. This is the story of my first Hacktoberfest, a journey that transformed me from a passive observer of open source to an enthusiastic contributor, and it all began with the click of a "Register" button.

---
## Phase 1 - Git and Github

As someone who, just two months ago, wasn't even aware of how Git works or how to host my projects on GitHub, let alone contribute to someone else's project, I had no idea where to begin! 

Hence, I started from the basics and learned about how [Git](https://git-scm.com/) and [Github](https://github.com/) work. I watched several tutorials on YouTube and read some articles, here are the best ones I found:

* https://www.freecodecamp.org/news/practical-git-and-git-workflows/
* https://www.freecodecamp.org/news/git-and-github-for-beginners/
* [Git and GitHub for Beginners - Crash Course
](https://www.youtube.com/watch?v=RGOj5yH7evk&ab_channel=freeCodeCamp.org)
* [Git and GitHub Tutorial For Beginners](https://www.youtube.com/watch?v=3fUbBnN_H2c&ab_channel=Amigoscode)
* [Git Tutorial for Absolute Beginners
](https://www.youtube.com/watch?v=CvUiKWv2-C0&ab_channel=DaveGray)

Once you are confident with the basic Git commands, it's time to dive headfirst into the open source pool and create your very first repository on [Github](https://github.com/). 

As someone wise once said:

> "For the things we have to learn before we can do them, we learn by doing them."

To proceed, you can follow these steps:

* **Sign Up on GitHub:** If you haven't already, create an account on GitHub. It's a straightforward process that requires an email address, a username, and a password.

* **Log In:** Log in to your GitHub account using the credentials you just created.

* **Create a New Repository:**

  - Click on the '+' sign in the upper right corner and select "New repository."

  - Give your repository a name and description.

  - Choose the repository's visibility (public or private).

  - Select the license (if applicable) and other repository settings.

* **Initialize with a README:** It's a good practice to initialize your repository with a README file to provide some information about your project.

* **Create Repository:** Click the "Create repository" button, and your new repository will be live on GitHub.

* **Clone the Repository:** Now, you can clone this repository to your local machine using Git. Use the command:

```sh
 git clone <repository-url>
```

* **Start Coding:** You're now ready to start adding your code to the repository. Make changes, commit them, and push them back to your GitHub repository.

Remember, this is just the beginning of your open source journey. Creating your own repository on GitHub is a crucial first step in becoming comfortable with Git and GitHub. From here, you can explore other open source projects and eventually contribute to them.

---
## Phase 2 - Finding the right repo to contribute to

After conquering the initial challenges, the next major question that loomed before me was, 'Where should I contribute?' It's a question that many new open source enthusiasts grapple with. Fortunately, there's a structured approach to finding the right projects to contribute to during Hacktoberfest. 

* **Understand Your Interests:** Start by identifying your areas of interest in the world of technology. Do you have a passion for web development, mobile apps, data science, or something else? This will help you narrow down your search.

* **Use GitHub's Search Feature:**
   - Visit the GitHub website.
   - In the search bar, you can type keywords related to your interests, such as "JavaScript," "Python," or "Machine Learning."
   - Filter the results using the "Repositories" tab to see repositories related to your chosen keywords.

* **Explore "Hacktoberfest" Labels:**
   - Many repositories participating in Hacktoberfest will have a "Hacktoberfest" label. You can search for repositories with this label to find projects specifically welcoming contributions during the event.

* **Check "Good First Issue" Labels:**
   - Look for repositories that have a "Good First Issue" label. These are often beginner-friendly tasks that can be a great starting point for new contributors.

For example if you are looking for "good first issues" in Javascript, you can use the filters:

```sh
is:open is:issue archived:false label:"good first issue" language:javascript label:"hacktoberfest"
```

* **Leverage Websites and Tools:**
   - Websites like "Hacktoberfest Projects" and "First Timers Only" curate lists of beginner-friendly projects and issues. Explore these resources to find projects that align with your skills and interests.

* **Participate in Open Source Communities:**
   - Join open source communities on platforms like Discord, Slack, or GitHub Discussions. These communities often have channels or forums where contributors discuss projects and issues. You can ask for recommendations and advice from experienced community members.

* **Review Project Guidelines:**
   - Once you've identified a project of interest, be sure to thoroughly read the project's README and contribution guidelines. These documents will provide information on how to get started, coding standards, and the project's goals.

* **Start Small:**
   - As a beginner, it's a good idea to start with smaller tasks and gradually work your way up to more complex contributions. This will help you build confidence and gain experience.

Remember that finding the right project may take some time and exploration. Don't be discouraged if you encounter challenges along the way; this is all part of the learning process.

##Conclusion:

Following these steps (and with some hard work 🤓), I was able to complete Hacktoberfest with **25+** contributions and a wealth of valuable learnings.

![Hacktoberfest profile](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v8zgjekw5ub048mjzqtw.png)

As I wrap up my first Hacktoberfest journey and reflect on the exhilarating experience of contributing to open source projects, one thing becomes abundantly clear: the world of code is not an isolated, solitary endeavor but a vast and interconnected community of developers, learners, and creators. It's a community that welcomes everyone, regardless of their background or level of expertise, and encourages collaboration, growth, and the exchange of knowledge.

Hacktoberfest opened my eyes to the incredible possibilities that arise when we step outside our comfort zones and embrace the challenges of open source. It transformed me from someone who was once clueless about Git and GitHub into a confident contributor who understands the power of sharing and building together.

So, to all those who are considering taking the leap into open source, I encourage you to start your own **Open Source** journey. Embrace the unknown, tackle your fears, and find your place in this vibrant community. The opportunities for learning and personal growth are endless, and the friendships and connections you'll forge along the way are priceless.

Remember, the journey into open source is a continuous one. Keep exploring, keep learning, and keep sharing your knowledge. Your contributions, no matter how small, can have a significant impact, and the path ahead is filled with exciting challenges and rewards.

Thank you for joining me on this adventure, and hope I see you in the world of open source!

---

If you enjoyed this article, please consider sharing it with others to help inspire more individuals to embark on their open source journeys. 🤝

Feel free to check out my [Github](https://github.com/IrfanSalim) or connect with me on [LinkedIn](https://www.linkedin.com/in/md-irfan-salim-9111b7216/) or [X](https://twitter.com/itxirfan) to stay in touch and continue the conversation. 🙏

Once again, thank you for taking the time to read, and I wish you nothing but success and joy in your coding adventures! Happy coding!