Whether you’re a Code Newbie who is just beginning your career in tech or experienced professional, you might have heard various myths about contributing to open source.
In this article, I’m gonna demystify some of them for you. I hope that after reading it you’ll give it a try and deep dive into an amazing open source world.
1. You need to have a “Senior” in your job title to start contributing to open source
I’ve heard this stament many times, yet this is not true! You don’t have to become a Senior in order to start contributing to open source projects.
I remember I wasn’t even feeling very comfortable with using Git back then, but I decided that it shouldn’t stop me from trying.
I’ve created my first ever pull request and waited for his review. How surprised I was when it got merged! And I even got a small “Thank you” note from Wes Bos under one of my tweets!
If you’re not sure where to start please check this article that I wrote some time ago.
I mentioned there not only special labels which make it easier for beginners to find open source project but also how you can create your own project and invite others to contribute.
2. You’ll have to solve only complex issues
TRUE / FALSE
To be honest it all depends on the type of projects you’ll be joining.
Later I removed some whitespaces and added missing semicolons. Not a rocket science, but as I was learning programming I wanted to help others who might be struggling with same (simple😉) things: is my styling good enough or am I missing something?
You can start from very basic issues and then, as you’re getting more skilled and feeling comfortable, increase the difficulty and move to more complex projects.
Don’t know where to start?
Ask your colleagues who are already contributing, look for tips online or check my article.
If you’ve already experienced and feel (more) comfortable, look for more advanced projects.
How to find them?
Here’s an idea: maybe you’re coding in Visual Studio Code? Or you love TypeScript?
Check the official Microsoft GitHub page where you’ll find list of all open source projects that you can contribute to!
Don’t be afraid to get out of your comfort zone.
Yes, publishing your code on GitHub requires courage as it becomes visible to everybody!
Yes, your PR might not be accepted right away and you may need to improve it a little bit before it gets merged.
Everyone starts somewhere.
3. Your Pull Requests will be always merged
Who loves to see their PRs getting merged without any comments? I’m sure we all do 🙂
But we all know that reality is different and sometimes you need to make additional changes before you can close that task you’re working on.
The same applies to open source projects: they have documentation and rules for those who want to contribute to them.
And there might be multiple reasons behind not accepting your changes: Maybe they’re asking you to add the tests? Maybe you’ve introduced some significant changes which maintainers want to avoid? Maybe your PR might break some other parts?
I really encourage you all to watch this presentation: “Adam Sitnik — My awesome journey with Open Source”. Adam is currently working at Microsoft as a Senior Software Engineer (he’s part of the .NET team).
His presentation gives lots of insights and best practices.
And you’ll get a chance to see what was happening “behind the scene” (yes, rejections/failures are part of this journey).
4. Open Source is only for Software Engineers
FALSE, FALSE, FALSE
What’s the first word that comes to your mind when you hear “open source”? High chances are you’ll think about “coding”.
While this is true and many projects are looking for Software Engineers who would like to contribute, there’s much more happening there!
Did you know that you can find projects which need a logo and therefore they are looking for Designers?
Sometimes maintainers are looking for Translators who can help them reach more people with various languages versions available.
Working in recruitment or hiring for your team? Then how about using GitHub and creating a repo with i.e. career tips or sharing insights about your company and interview process? Even though I’m no longer part of Microsoft EMEA Engineering recruitment team, I share my knowledge with others via GitHub as well.
And there are also tests that you can write! This is what my husband is doing now: he’s learning to write automated tests so I suggested he should do them for one of the available projects 🙂 You can find his repo here.
5. You’ll have to work alone, no one will help you and you can’t ask questions
The above statement is of course not true. Be ready to work with others and ask your questions (I believe that it’s always better to ask/clarify one more time then provide the wrong solution only because you’ve misunderstood something).
Keep in mind that by being part of an open source projects you’re required to follow their “Code of Conduct”.
Below is an example from the official Microsoft’s open source website:
6. You will network with others, grow your skills (& might even get noticed by Recruiters or your dream company)
I’ve mentioned before Adam Sitnik’s presentation about an open source. But did you know that prior to joining Microsoft he was an active open source contributor? And did you know that he got hired into the .NET team thanks to his contributions?
While it’s not always mandatory to have an “open source contribution” mentioned in your CV or LinkedIn profile (check my top tips for LinkedIn profile) this is something that can catch the Recruiter’s attention. Because yes, they go on GitHub and look for potential employees there as well 🙂
I believe that open source is all about people who create amazing communities all around the world. Why not use this opportunity for networking and growing your skills?
Your PRs will get reviewed by more experienced people (or even the best professionals) – that means you’re gaining access to them and their knowledge. This is something that (in some cases) wouldn’t be that easy to achieve.
Remember: even if you won’t see the immediate results from “day one”, you’re building your online reputation and this can help you in other areas (being invited to events as a speaker/being seen as an expert/getting a new job?).
Thanks for reading & have a nice day,