2024-10-05

The first OSS contribution in my life became roadmap.sh

I have always wanted to contribute to OSS, but I didn't know where to start and found it difficult to take the first step. Then, I seized an opportunity to contribute to roadmap.sh, an OSS project I use frequently. As a result, I made my first OSS contribution!

Though it's a small contribution, the sense of accomplishment is immense, so I've documented it in this article!

Discovering roadmap.sh

Developer Roadmaps - roadmap.sh

kamranahmedse / developer-roadmap

I was introduced to roadmap.sh by a senior engineer during my first long-term development internship, which I started soon after entering graduate school. The senior engineer advised me that mastering the content on this site could help me progress from a junior to a middle-level engineer. Consequently, I use this site regularly as a learning resource. For example, the backend chapter provides a roadmap as shown below, along with links to detailed articles and papers on each topic.

Backend Roadmap

Given that this OSS project requires all articles to be in English, I find it beneficial not only for technical learning but also for improving my English skills.

An Opportunity to Contribute โญ๏ธ

When I decided to learn about AWS, I checked the AWS-related resources on roadmap.sh and noticed a lack of information. Considering my regular usage of this site and my longstanding desire to contribute to OSS, I decided to make my contribution here ๐Ÿ’ช.

Although I felt nervous about contributing to OSS for the first time, the excitement about what I could achieve outweighed my anxiety.

Preparing for Contribution

First, I thoroughly reviewed the Contribution Documentation. Since each project has unique guidelines and practices, understanding them is crucial. I also examined how other contributors tackled issues or created PRs to learn from their successful examples.

Creating the PR

When creating the PR, I focused on ensuring reviewers could easily understand my changes by:

  • Clearly and concisely summarizing my changes in the comments.
  • Minimizing the number of changes to facilitate an easier review process.
  • Adhering to the project's rules and style by referring to existing merged PRs.

Here is the PR I created! Approved PR Update index.md of 101-ec2 directory by Koki-Kazaore ยท Pull Request #7329 ยท kamranahmedse/developer-roadmap

To my surprise, my PR was merged just about 15 minutes after submission! With roughly 10 other PRs under my belt, I hadn't expected such a prompt response, and the quick acceptance filled me with joy.

Reflecting on the Factors Leading to the Quick Merge

Upon further review, I noticed no other merges occurred after my PR. While it was my first OSS commit for a relatively simple task, I believe that โ€œcommenting on the changes clearlyโ€, โ€œminimizing the number of changesโ€, and โ€œresearching existing PRs and guidelines ahead of timeโ€ were key factors contributing to my OSS success.

Conclusion

This initial OSS contribution taught me the joy of impacting the community through small actions. I plan to continue actively engaging with OSS projects to improve my skills and contribute to the community!