It has been months since I first looked into contributing to the open source community. MONTHS. As a new developer looking for my first software engineering role, I was told during many interviews that working on open source projects would help make me more marketable. After being told this over and over, I tried to gain the courage to dive into the open source world to find a project I thought I could contribute to.
Unfortunately, any time I tried to look, I would last about 15 minutes before feeling so overwhelmed and scared that I'd close the web browser, pushing the thought of open source out of my mind.
PSA - Contributing to open source is scary for those of us who are brand new to the tech world.
Why did I think it was scary?
While going through bootcamp I never looked at a massive code base. The file tree of the labs and my projects were tiny, so my reaction to opening up, let's say, DEV's project folder and seeing that file tree was intimidating as all h-e-double hockey sticks.
It is not easy as a new dev to look at a huge code base like that and navigate through it. Heck, the reason most companies have long on-boarding processes is to get their new staff acquainted to their large code base. With open source, we don't get that on-boarding process, so we have to learn how to navigate on our own.
Why does contributing to open source boost your resume?
I guess it would be a great thing to point out here that one of the companies to tell me that contributing to open source would be beneficial told me the reason is because it gives you experience working with a large code base. Companies know that it is intimidating to jump into the deep end of a large code base and keep your head above water. They want to see that you've done it before and contributing to open source is a great indicator that you have.
Contributing to open source also gives you the experience of working in a development environment. You get to know Git commands and GitHub very well. You gain experience reading through contributing guidelines to follow the company's rules. You learn how to ask clarifying questions to accomplish a task. You may also get the chance to create and run tests to make sure your code works properly.
The bottom line: contributing to open source gives new developers a feel for what working as a developer is like "in the real world".
How did I get over my fear and finally contribute?
HACKTOBERFEST is what finally lit a fire in my belly. All of the different incentives that are offered for participating drew me in. It was like the icing on the cake to finally get me contributing. The most enticing incentive for me? The DEV badge that will be added to my profile! I'm a sucker for these awesome badges.
Another contributing factor that helped me get over this fear came after listening to many podcasts about Hacktoberfest, open source projects, etc.. I learned that a great amount of developers had this fear of open source when they first started too. I heard lots of stories of developers only making small documentation fixes as their first contributions because of this fear. Discovering that the people I look up to the most in the tech world also had the same fears I did gave me the confidence to finally jump in to the open source community.
My Contributions
First Contribution - Bug
My first contribution was to
I chose DEV because this platform has been the source of most of the confidence I now feel as a young dev. I wanted to give back to the community that has done so much for me in the short year that I've been using it.
For this pull request I fixed a bug. It was simple. I only changed a few lines but it felt monumental to me. It was my first ever pull request to an open source project. The change I made is used by tons of people daily. The satisfaction and confidence I gained from this simple change is spectacular.
Second Contribution - Feature
The second pull request that I created was to a Flatiron School student project.
mackied0g / firstRubyGem
My first Ruby gem. Dank classes&methods only.
One of the students made her project available and asked us to contribute. I really liked her project idea and figured it'd be a fun and easy contribution. All I had to do was create a new "dank" class
and method
to add some type of ASCII art, which I chose to add Mickey Mouse.
Third Contribution - ???
For my third contribution I worked on
VulnerabilityHistoryProject / chromium-vulnerabilities
Data for vulnerabilityhistory.org
which asked for Hacktoberfest contributors to study one of their vulnerabilities and give it a funny/clever nickname. I'm not even sure what to classify this contribution as, hence the question marks. It was a fun project though! I gained experience reading through a vulnerability and all the times it had been worked on in the past decade or so. All this studying of the vulnerability led to me creating a punny nickname for it.
Fourth Contribution - Feature
My final qualifying pull request was an absolute pleasure.
legesher / legesher-docs
All documentation for the Legesher package and further portfolio
The feature request I worked on for this project wanted the logic for a new bot to be added to a Ruby
file as well as updating the documentation for it. I had an ongoing conversation with the moderator to make sure I was doing everything the desired way. It was such a pleasant experience and I can't wait to contribute to this project more in the future.
Final Thoughts
I will continue to contribute to the wonderful open source community even after Hacktoberfest is long over. I can confidently say that I was bitten by the open source bug in the first 14 days of October.
The level of happiness I feel from completing my first Hacktoberfest is overwhelming. I gained experience communicating with others to accomplish something. I navigated through large code bases. I learned how to study a vulnerability. Most importantly, I learned that contributing is fun and that the open source community is welcoming.
This whole process has only increased my excitement to finally land my first software engineering role and start contributing thoughtful and clean code to whatever company I work for.
Note: This posts cover image is brought to you from a very sunny and beautiful hike in Half Moon Bay, CA.
Top comments (12)
Alright you sold me. Iโll give it a shot.
You won't regret this!
I agree; the first time I contributed to an open source project that was not my own it was a bit nerve racking.
Once that first PR was sent and I got to see how it was handled I got hooked. Now I'm looking for projects to jump into and help out.
Great post!
I'm one contribution in and I've already found it to be fulfilling! I have a long story of using open source software (mostly in IT), but the idea of contributing.. well it seemed impossible to be honest, and it hadn't even really occurred to me that I should! My passion for writing code has been re-ignited in the last couple years and a co-worker had suggested Hacktoberfest to me... and it's been like a rocket thruster for motivation. Thanks for the great post!
I think that the fear besides being normal is actually good.
As you beautifully pointed out, collaborating on open source projects is great to give us a feel of how working as a dev is, but facing that fear and conquering it is a powerful experience that stays with you and makes you grow, not only as a dev but as a person.
In my opinion another important thing is to not be ashamed of how little you might know about a subject and let that stop you from asking questions or trying to collaborate.
In my case, the thing that I didn't foresee when I started learning, was that this process would change me in more ways than just professionally, I'm looking at life through another lens, I'm more patience, I get less frustrated with failures, and I'm more happy overall.
Thanks for telling us your experience Victoria!
I've worked on tons of projects in and outside of my day job and for some reason I still get this anxiety when looking at contributing to open source. Thanks for the write up, it's the confidence push I needed to get myself to just START ๐
Yes, I wish this was a skill I was taught in school!
I did a CS degree and also never saw a code base even close to the scale of things I work with today. In fact, many years later, I got a survey from my university asking how they could improve the CS program and that was my response - that I know the degree is more theory-based, but being able to navigate what seems like an overwhelming code base is important for most real-world programming.
Ok I'm convinced, I'll try too. I'm a young dev just like you, it really help to read all those stories others like us experience
Kudos to you, Victoria! Hacktoberfest has been a ton of fun๐ช๐ผ๐บ๐ฝ
Congratulations! and yes it feels great to see your code being used by so many people ๐ฆ
Wooow this is so motivating, I will try it. Thanks for this nice post