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...
For further actions, you may consider blocking this person and/or reporting abuse
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 :)
Hello sir, I need some guidance for contributing to opensource I'm currently learning development from opensource course - The Odin Project.
I would love to learn this as well.
🔥
Nice article! I can say that we've also hired from our community in the past and will likely do so in the future
Knowing the people in Wing, every developer should strive to work there.
Which community
github.com/winglang/wing
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 🚀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
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.
Contributing Open Source is not for beginners.
I think everybody can do it. But it will take you more time.
Maybe, but it is difficult for most entry-level junior developers.
Well, but think about it.
If you can't contribute to a big codebase, how do you expect a company to hire you? :)
Showcase personal projects on portfolio website, github profile, linkedin profile, resume & cover letter, networking with other people e.t.c...
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?
Honestly bro i don't know. but, OS contribution might not be suitable for most beginners my guess.
So you have to raise to the level when you can.
Because that what you will do in the actual job :)
Right!!
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.
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.
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?
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.
Thanks!
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.
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.
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.
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?
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
Contributing to open-source projects can indeed significantly enhance your chances of landing a new job. Here's why:
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.
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.
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.
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.
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.
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.
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.
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.
Not sure if this is satire or brilliance...
Haha, it's not satire
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.
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.
I always thought of contributing to open source never did it much though I might start with some of these projects
This is an awesome article! Love the cover photo also.
Thanks for mentioning CopilotKit :)
github.com/CopilotKit/CopilotKit
This is amazing post. Thanks for sharing wonderful thoughts.
❤️
You share posts on Story Saver.
Nice guide! I like your point on focusing a few projects with a higher quality work rather tackling super small issues on many repos.
Yes, and I believe in Wasp, you also hired contributors. :)
Post a rubbish JD, get rubbish applications. Nothing new under the sun.
yes
Thanks so much for this. This has been so helpful for me!
🚀
Nice article! !
Thank you for your advice, i like to help you in your projects, some i will try with your repos
🚀
Great advice for developers, especially relevant in AI!
Great post! Totally agree, oss has been really good to me. Can't recommend it enough to boost ones career.
🚀
Wow. I like to contribute. I am willing to learn.
Yay!
good stuff check out pouchlite try to be alternative to sqlite,contributions are welcomed
Awesome!
I will check out Gitroom.
Thank you!
Awesome!
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
Yay!
Great Info
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.
I'm looking for an engineer that can help support Apache HTTPD, Tomcat, TomEE, and ActiveMQ for customers that pay for such support. We help our customers with configuration and installation issues, and we notify them of CVEs, providing custom builds with mitigations as soon as possible. We often contribute the fixes back to open source. We also maintain custom versions that are no longer supported by the open source community, backporting CVEs to those.
This is not an entry level position, and would also include development work for our customers as the above is likely about 50%. This person needs to be a J2EE developer, Java developer, with the ability to build, patch, test, and have deep knowledge of "classic J2EE", not just Spring. There is a lot of "command line work". You need to be familiar with build tools including Maven and Ant (yes, Tomcat is built with Ant). Experience with bash and Linux is very useful.
We are looking for a US Citizen residing in the US (our government customer requires it). Founded in 2006, we have always worked remotely, so you don't need to move. Hours are generally US day time. We have a generous benefits package and compensation.
If you are interested, send your resume to hr@kettleriverconsulting.com.