Hacktoberfest - Ideas for Contributing as a Beginner
Tags: hacktoberfest, beginners, github, opensource
Published: 2020-10-01 22:16:45

First day into **Hacktoberfest**! Yay! And I'm already freaking out about it! 🤪

It was fun publicly committing to make four OpenSource contributions in the next month, **but then reality kicked in**.

**For beginners, it's really hard to find issues they can work on**. Especially if it's their first time trying to get into OpenSource. Thirty days is not a long time for
1. finding a project that picks your interest
2. learning the codebase
3. make contributions
4. have them approved.

As someone that never made significant contributions before, I feel I have to think outside the box if I want this to be a good experience and become part of my life as a programmer even after the event.

### My personal dilemma with Hacktoberfest
As a Software Engineer, I want to learn as much as I can about Containers and DevOps, so the ideal project for me would be something related to **Docker** or **Kubernetes** or any other related software like **Prometheus** or **Helm**.

Problem is, I am not a _Go_ developer, and the entire ecosystem is written in Go! So even though I'm a hardcore user of these tools, I cannot possibly think that I'll be able to make **four significant code contributions in one month**. 🤯

# Creative Ways to Contribute

Of course, the logical way is contributing to code, although it's not easy to start with. **It takes skills that cannot be acquired in a few days**, and you don't want to be spamming maintainers with Pull Requests that are half baked _(always respect other people's time, that's my motto!)_. So I can think of these additional ways beginners (like myself) can contribute successfully. Let's dive in!

## Documentation & Knowledge Base
**There's always a need for documentation**. If you like writing and you're detailed oriented, this will be a great way for you to contribute.

![Use documentation labels](https://dev-to-uploads.s3.amazonaws.com/i/lfy5karwzfz247vrf47j.png)

When you search for issues try to click the filter option and search for labels that contain the word **documentation** or **docs** and see if there's anything urgent that needs attention. Maintainers will welcome a good piece of documentation any day!

### READ, READ, then READ MORE!

Have documentation for breakfast, lunch and dinner. Pick a topic you know very well, and go through the documentation pages for that topic. I can guarantee you'll find something you can improve using the knowledge you acquired with years of hard work.

### README.md

How was your experience when starting out with the project? Did you find everything you needed in the `README.md` file or you had to figure things out by yourself? 

If the latter is true, can you improve the README file for other aspiring contributors?

## Graphic Design

**Every awesome OpenSource project needs graphics** to use in their:
- Documentation pages
- README files
- Websites
- T-shirts
- Stickers
- the list goes on... 

![Github oops page](https://dev-to-uploads.s3.amazonaws.com/i/ixmc9gydhj5yvxevklrd.jpg)

If your passion is creating graphic elements, _reach out to the project maintainers_ and ask them if they need **new icons** or maybe **design a funny 404 or 500 page** (it is always nice to laugh with _Internal Server Error_ pages like the one above 😛). 


## Translate

![google translate](https://dev-to-uploads.s3.amazonaws.com/i/go5f5h5sogghmbhq5rod.png)

Everyone is special, yes, you too! Just because you're alive you must be fluent in at least one language. Use your gift! Search for **translation issues**, **create content in your mother tongue** to help the project expand its reach and get even more people interested in the mission!

## Educate

**Who doesn't love a good tutorial?** Do you love teaching others how to do things? This can be the value you bring to the project.

Record a video to show **how you installed the software** in a particular operating system or **showcase one of the hottest features** to encourage people to "star" ⭐️ the project. These videos can then be embedded in the `README.md` with Markdown as I did in one of my repositories

```Markdown
[![K8s Autoscaling](/media/K8s_Autoscaling.gif)](https://raw.githubusercontent.com/mcastellin/udacity-operationalize-microservice/master/media/K8s_Autoscaling.mp4)
```

### Some projects have example repositories!
You might find that the project you're interested in has a separate repo on GitHub to store **configuration examples** or **templates** to help people get started. See for example **[Helm Charts](https://github.com/helm/charts) or [AWS CloudFormation Templates](https://github.com/awslabs/aws-cloudformation-templates)**! 

Do you have work experience with the technology? Look back at your past projects, see if there's anything reusable you can share with the world! (It's a good idea to first check with your employer if you're allowed to do so 😅)
 
## Organize Notes
_Interest Groups_ are most likely organising _weekly meetings_ to discuss new bugs, collect ideas, plan future meetings and so on. 

You can actively participate in those meetings and **offer your services to summarise the points discussed and distribute meeting's minutes** via email, IM or even include them in the repo's Wiki pages! 

## Test & Bug Report
Developers can't test features with every existing operating system or mobile phone. Keep a close watch on new feature releases or bug fixes and be eager to test them yourself. Then reach out to developers and provide your feedback, if something is not working as planned you can raise new issues. 

**If you have to create a new issue, go the extra mile and include plenty of information to reproduce the bug**, be proactive and genuinely helpful! Help assess other people's tickets, maybe no development is needed and they are just looking for a helping hand.

Who knows, maybe with a bit of time, you'll be in charge of triaging and be the one deciding what are the priorities for the project, isn't that awesome? 😎

# In conclusion...
...**if you are feeling stuck in your OpenSource journey**, I hope this article has thrown some fuel to the fire 🔥 I know it worked for me while I was thinking about it and I'm going to start tomorrow with a different approach and even more excited than today! 

### Best of luck Developers!

Thanks for reading! And don't forget to follow me if you want to see more content like this!

- [YouTube](https://bit.ly/3hTkyWU) 🎬
- [Twitter](https://twitter.com/castellinmanuel)
- [LinkedIn](https://www.linkedin.com/in/castellinmanuel/)