DEV Community

Cover image for Contributing to open-source will 10x your chances to land a new job 🚀

Contributing to open-source will 10x your chances to land a new job 🚀

Nevo David on April 30, 2024

I have been trying to get some programmers to work for me on Upwork lately. Every person who applied raised so many questions about whether they co...
Collapse
 
anmolbaranwal profile image
Anmol Baranwal

The fact is, when I started learning GitHub/Git, I wasn't even aware of open source.

Over the course of 2 years, I learned a lot and made numerous contributions to other open source projects as well as my own. Most of my learning came from open source, and I'm very glad that I started this journey.

I've even received very good offers (from direct founders) based on my GitHub profile alone, without a portfolio.

So, I don't think it's that hard to begin. It would take around 20 days to learn most of the things and start contributing.

It also improved a lot of things such that I know how to build a SAAS from scratch.

All thanks to open source :)

I don't know if the chances would be 10x but it's definitely very high.

Collapse
 
devangnpm profile image
Devang Yadav

Hello sir, I need some guidance for contributing to opensource I'm currently learning development from opensource course - The Odin Project.

Collapse
 
jeffchavez_dev profile image
Jeff Chavez

I would love to learn this as well.

Collapse
 
nevodavid profile image
Nevo David

🔥

Collapse
 
shaiber profile image
Shai Ber

Nice article! I can say that we've also hired from our community in the past and will likely do so in the future

Collapse
 
nevodavid profile image
Nevo David

Knowing the people in Wing, every developer should strive to work there.

Collapse
 
chrisoba profile image
Chris Obare

Which community

Collapse
 
nevodavid profile image
Nevo David
Collapse
 
tungbq profile image
Tung Leo

Nice article!
For those who are looking for the open source issues/tasks to contribute. I've created a repository to summarize the issues filter like help wanted, good first issues, bug, ... Check out: github.com/tungbq/find-github-issue to start your contributing journey 🚀

Collapse
 
zombodotcom profile image
Zombo • Edited

Why is it only showing my issues in my gits when it directs me to the GitHub app.

Guess you gotta not use the GitHub app

Collapse
 
tungbq profile image
Tung Leo

Thanks for pointing this issue out @zombodotcom, it works fine on the browser but seems like the GitHub app does not support these filters.
I will check to see if we could have solution to resolve this issue.

Collapse
 
minhazhalim profile image
Minhaz Halim (Zim)

Contributing Open Source is not for beginners.

Collapse
 
nevodavid profile image
Nevo David

I think everybody can do it. But it will take you more time.

Collapse
 
minhazhalim profile image
Minhaz Halim (Zim)

Maybe, but it is difficult for most entry-level junior developers.

Thread Thread
 
nevodavid profile image
Nevo David

Well, but think about it.
If you can't contribute to a big codebase, how do you expect a company to hire you? :)

Thread Thread
 
minhazhalim profile image
Minhaz Halim (Zim)

Showcase personal projects on portfolio website, github profile, linkedin profile, resume & cover letter, networking with other people e.t.c...

Thread Thread
 
nevodavid profile image
Nevo David

I am not talking about how to find a job.
I mean, once they hire you, how are you planning to work on an existing big project?

Thread Thread
 
minhazhalim profile image
Minhaz Halim (Zim)

Honestly bro i don't know. but, OS contribution might not be suitable for most beginners my guess.

Thread Thread
 
nevodavid profile image
Nevo David

So you have to raise to the level when you can.
Because that what you will do in the actual job :)

Thread Thread
 
minhazhalim profile image
Minhaz Halim (Zim)

Right!!

Collapse
 
rushiljalal profile image
Rushil Jalal

How should I approach contributing to open source if I am currently a beginner?
I'd love to get some tips!
I know HTML, CSS, vanilla JS, some C, Java and SQL due to college but I don't know enough to contribute to a big repo.

Collapse
 
gankiskhan profile image
Gank

You would be surprised how little you need to know to attempt contributions. Foundational knowledge is of course required, but you can begin with only that. The big thing is to comb through open tickets on say GitHub Issues. Most larger repositories will have specific tags mentioned in their Contribution documentation often mentioned within the README.md file; for example "beginner" "great-first-ticket" etc. So you find one of these and jump on ones that you think you can do or most especially those you think you cannot. Then learn something. It's not like you have to get it done there's no real timeline worst case someone else gets it done before you but your fork and commit still exist all the same. That's experience. Also it's pretty normal to not have your PR merged there's often many others trying to contribute it's just a part of the game it's not a personal thing.

Finding a repository to commit to can just be done through "Discovery" features or if you know of a library or something that you have used in the past. I find these to be the best ones as I already know how to use it to some degree and am more motivated to improve it. That's not required of course, but something I personally like to do. Finding a repo does not need to be a huge ordeal if you are having trouble just search by language and poke around randomly. Bigger projects have more opportunities especially for newer individuals but also more "competition".

Getting started as I mentioned before is usually just reading the contribution guidelines documented in the README. First one is the scariest, but just take the plunge and you'll see it's not so bad.

Another note is you do not need to even work on open issues/features you can work on ones that have been already completed but pretend like you are going to implement it yourself. You of course will not have this code merged as it's already been resolved but it's a great way to gain some comfort in contributing with the added fallback of having a solution already done to compare against. I would HEAVILY discourage looking at the solution unless just absolutely stumped for days, or to compare your already working solution. Great way to learn new ways of doing things.

What I will say is you will likely not feel "ready" so don't spend forever preparing. This will end up being a scenario where you never contribute to existing codebases. Just jump in when you've covered the basics required for a language, framework, library, etc. Learning "on the job" is pretty normal.

Collapse
 
rushiljalal profile image
Rushil Jalal

Most larger repositories will have specific tags mentioned in their Contribution documentation often mentioned within the README.md file; for example "beginner" "great-first-ticket" etc.

I did this for VS Code yesterday but the issues I found went up my head. I do know basic JS but the beginner issues felt daunting and impossible.
I've not been able to find a repo whose issues I've been able to solve.
Any recommendations?

Collapse
 
nevodavid profile image
Nevo David

Well, you start by building apps yourselves. You can't avoid it - think about a project and develop it.

Then, contribute to a bigger codebase.

Collapse
 
rushiljalal profile image
Rushil Jalal

Thanks!

Collapse
 
charlesr1971 profile image
Charles Robertson

I strongly disagree.
I think you should start building your own demos first, before trying to contribute to a larger project. You need to understand the basics of how to code and use source control, before you can contribute properly to someone else’s project.
And have you thought about the importance of looking at someone’s experience, via a CV. It is actually quite easy to tell if someone is making stuff up. A good CV with lots of commercial experience is surprisingly difficult, to fake.
There are also services like TestGorilla that provide a way of filtering out candidates that have little or no coding experience.

Collapse
 
mistval profile image
Randall

I love when candidates put a GitHub link in their resume. I always click it and look. Usually there isn't much there. But when there's significant code there that I can glance through, and it looks good, that scores major points with me. I would only spend a few minutes looking at their code, but it can tell me a lot.

However I'm a bit biased, being an open-source contributor myself. I know that plenty of other people reviewing resumes won't click that link, and will just go and look at your experience instead. That's weird to me, but it's reality. But putting a GitHub link on your resume will never hurt you, for sure.

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

Nice article, Nevo, and a nice reminder to anyone looking to get started!
One of the coolest things about OSS is that your GitHub becomes its own resume. GitHub speaks for itself and companies notice.

Collapse
 
chocolatecakeshake profile image
Abdullah

I've been working full time for almost 3 years now.
Always felt like even if you tried to keep up with a small project that's caught on momentum, you'd have to spend quite a lot of time to understand the proper working on that particular project in order to be able to make a significant contribution.

Isn't it sort of cutthroat trying get your PR merged in an open source project?

Collapse
 
salehalhaddad01 profile image
Saleh Alhaddad

I started contributing to open-source projects a few years ago, focusing on projects I use in my work, such as the Ruby on Rails framework and various gems. Some of my pull requests (PRs) have been merged, while others were closed, and a few are still under discussion. Contributing to large open-source projects like these can be challenging, as you need to thoroughly explore the project to become familiar with its different components.

From my experience, a good starting point is to review existing PRs and observe how other contributors work. By refactoring small sections of code, you'll begin to understand key aspects of the project. Additionally, contributing to smaller open-source projects can provide valuable experience, as they are often easier to explore and refactor.

Overall, I've found that while contributing to open-source projects isn't easy, it's also not insurmountable for anyone willing to put in the effort.

Thanks

Collapse
 
goodpresonkishore7 profile image
GoodPresonKishore7

Contributing to open-source projects can indeed significantly enhance your chances of landing a new job. Here's why:

  1. Demonstrates Skills: Open-source contributions showcase your coding skills, problem-solving abilities, and collaboration experience. Potential employers can see tangible examples of your work and assess your proficiency firsthand.

  2. Builds Reputation: Active participation in open-source projects allows you to build a reputation within the developer community. Your contributions can be reviewed, acknowledged, and even recommended by other developers, which adds credibility to your profile.

  3. Learning Opportunities: Contributing to open-source exposes you to diverse projects, technologies, and coding styles. You can learn from experienced developers, receive feedback on your code, and stay updated with the latest industry trends and best practices.

  4. Networking: Open-source communities provide excellent networking opportunities. Interacting with other developers, maintainers, and contributors can lead to valuable connections, mentorship, and even job referrals.

  5. Resume Differentiation: Many candidates have similar educational backgrounds and professional experiences. Open-source contributions set you apart from other job applicants and demonstrate your passion for programming and willingness to contribute to the community.

  6. Problem-Solving Skills: Open-source projects often involve solving real-world problems and dealing with complex technical challenges. Your contributions highlight your ability to tackle such issues effectively, which is highly valued by employers.

  7. Remote Work Experience: Remote collaboration is a common practice in open-source projects. By contributing to such projects, you gain remote work experience, which is increasingly sought after by companies offering flexible work arrangements.

  8. Contributions Speak Louder Than Words: Instead of just claiming proficiency in certain technologies or frameworks on your resume, your open-source contributions serve as tangible evidence of your skills and expertise.

Overall, actively contributing to open-source projects can significantly enhance your employability, broaden your professional network, and accelerate your career growth in the tech industry.

Collapse
 
glstephen profile image
Stephen Johnston

Not sure if this is satire or brilliance...

Collapse
 
nevodavid profile image
Nevo David

Haha, it's not satire

Collapse
 
p12y profile image
Peter Tyldesley

It's a good article, but your job ad makes me cringe.

"I'm the best programmer I know"
"Don't call me sir"

It comes off as arrogant and abrasive and would put me off ever wanting to work with you.

Collapse
 
nevodavid profile image
Nevo David

Understandable :)
But missing context: I'm the best programmer I know - trying to find somebody in a higher level.
Don't call me sir - because I am not above anybody.

Collapse
 
noberst profile image
Namee

Great advice for developers, especially relevant in AI!

Collapse
 
jakepage91 profile image
Jake Page

Great post! Totally agree, oss has been really good to me. Can't recommend it enough to boost ones career.

Collapse
 
nevodavid profile image
Nevo David

🚀

Collapse
 
sotergreco profile image
Sotiris Kourouklis

I always thought of contributing to open source never did it much though I might start with some of these projects

Collapse
 
uliyahoo profile image
uliyahoo

This is an awesome article! Love the cover photo also.

Thanks for mentioning CopilotKit :)
github.com/CopilotKit/CopilotKit

Collapse
 
shiella profile image
Shiella Adam

This is amazing post. Thanks for sharing wonderful thoughts.

Collapse
 
nevodavid profile image
Nevo David

❤️

Collapse
 
shiella profile image
Shiella Adam

You share posts on Story Saver.

Collapse
 
matijasos profile image
Matija Sosic

Nice guide! I like your point on focusing a few projects with a higher quality work rather tackling super small issues on many repos.

Collapse
 
nevodavid profile image
Nevo David

Yes, and I believe in Wasp, you also hired contributors. :)

Collapse
 
jeteve profile image
Jerome Eteve • Edited

Post a rubbish JD, get rubbish applications. Nothing new under the sun.

Collapse
 
narrinddhar_52 profile image
Narendra gorantla

yes

Collapse
 
jomagene profile image
Jomagene

Thanks so much for this. This has been so helpful for me!

Collapse
 
nevodavid profile image
Nevo David

🚀

Collapse
 
sunilfgh profile image
Sunil kumar Dubey

Nice article! !

Collapse
 
joset98 profile image
joset98

Thank you for your advice, i like to help you in your projects, some i will try with your repos

Collapse
 
nevodavid profile image
Nevo David

🚀

Collapse
 
vjbollavarapu profile image
Vijaya Babu Bollavarapu

Great Info

Collapse
 
morgan-123 profile image
Morgan

I will check out Gitroom.
Thank you!

Collapse
 
nevodavid profile image
Nevo David

Awesome!

Collapse
 
jeffchavez_dev profile image
Jeff Chavez

Wow. I like to contribute. I am willing to learn.

Collapse
 
nevodavid profile image
Nevo David

Yay!

Collapse
 
pouchlabs profile image
pouchlabs

good stuff check out pouchlite try to be alternative to sqlite,contributions are welcomed

Collapse
 
nevodavid profile image
Nevo David

Awesome!

Collapse
 
dominic_sr profile image
Dominic

Thanks for sharing it's very help full I want to contribute open source but I need do some help do you have any groups or community

Collapse
 
nevodavid profile image
Nevo David

Yay!

Collapse
 
krishnanraghavan profile image
Krishnan Raghavan

Very nice article and also a huge thanks for the advice on how and which projects to contribute too. Could you also help with some pointers to good Golang and C++ projects where one can contribute? Thanks in advance for your help and hope to hear from you soon.