Contributing to open-source projects is a great way to build your programming skills, take part in the community, and to make a real impact with your code…
It can also help you get a job as a professional Python developer, but becoming a contributor in the first place—that’s often tough.
So, let’s talk about this question I got from newsletter member Sudhanshu the other day:
I am student from India, I don’t really know whether this is your field or not but I have been doing Django development for 5 to 6 months.
I have made few projects on REST APIs, websites, etc. Then I decided to contribute in Django open source projects, particularly those by the Django organization and Mozilla.
What should I do at this point? How can I improve my level of Python knowledge so that I can contribute to these projects?
It sounds like Sudhanshu is in a good spot already.
I love the fact that he’s been working on his own side-projects to build up a portfolio—that’ll be a great asset when he goes job hunting.
If you’re in Sudhanshu’s shoes right now, here’s what I’d focus on next:
Try to strike up some personal connections with people working on those “high-profile” Python projects you want to contribute to.
See if you can make contact somehow—are they on Twitter? Can you comment or ask a question on a GitHub issue? Maybe you can even cold-email them…
Little by little, you’ll be able to build relationships with some of them. Building trust takes a lot of time and dedication, but eventually the timing will be right to offer your help:
Just ask them if there’s something small you could contribute to, like cleaning up the documentation, or fixing typos—simple things like that.
Open-source maintainers usually appreciate it when others help improve the documentation of a project. So that’s often a good way for you to get the foot in the door, metaphorically speaking.
What I want to say is this:
Getting your contributions accepted comes down much more to having built trust with the right people, rather than “throwing a bunch of code over the wall” and creating random pull-requests.
If you’re interested in some more thoughts on this topic, check out the YouTube video I recorded. It contains additional tips and tactics that will help you break into the open-source world:
» Subscribe to the dbader.org YouTube Channel for more Python tutorials.
Good luck on your Python open-source journey and…Happy Pythoning!