Internet Programming

The Journey Of A Coder: How To Enhance Your Coding Skills By Contributing To An Open Source Project

Danny Stieben 18-06-2013

contribute to open source projectIf you’re looking to market yourself as a competent programmer, there’s no better time or place to show off your skills in the best way possible — by contributing to open source projects. There are many reasons why you should contribute to open source projects Why You Should Contribute To Open Source Projects [Opinion] The concept of open-source software is not new, and with huge, successful projects such as Ubuntu, Android, and other Linux-related OS's and apps, I think we can safely say it is a proven model for... Read More , but the most important reason of them all is that you can “learn by doing”. And once you learn, you can not only claim that you have coding skills, but you can prove it by showing your work.


Why Go Open Source?

Open source projects are an important resource to take advantage of as a programmer because they are always there, and always accessible to you. Contributing to open source projects could be as valuable as a programming internship, yet you don’t have to go through the searching and interviews for the slim chance of receiving one. As such, you have the freedom to pick which projects to contribute to as well as how much you contribute. It also gives you the flexibility to target which skills you’d like to learn by finding an appropriate project.

Look For Small Projects

contribute to open source project
Getting started, as you may imagine, is the hardest part of contributing to open source projects. Ideally, the easiest way to get started is by finding a small project to contribute to, as the development process is usually far less complex and more attention is given to each contributor. One project that aims to remain small to make getting started easier is Gina Trapani’s ThinkUp project.

Look For “Easy To Join” Projects

Otherwise, another project worth looking into is one which, although large, can make it easier for contributors to get involved in the project by giving them small bugs to work on and gradually giving them more code to write. A great example project would be KDE.

Smit Mehta, a contributor to KDE’s Digikam software, once wrote in an answer to a Quora question

“Also they have something called “junior jobs”, the bugs reserved for new-comers. They help you in understanding the bug, and point you to the correct file location which needs to be fixed. After you start submitting patches towards such small small problems, the product manager of that particular app will give you slightly more challenging bugs, and you can deliberate with him on how to go with it, he will personally guide you, and polish your code. After enough bugs (depends on the app and the manager), he will give you git access to the kde codebase. After that you dont need any permission to push your changes.”

Go-To Places To Look

contribute to open source project
If neither of these projects interest you, there are several other places where you can look. The best two places to check out open source projects are GitHub and SourceForge. You should also check out SourceForge’s “Help Needed” page. I personally recommend GitHub more because the tools needed to use the service are better known, and I’ve even written an intro into getting started with a GitHub repository How To View & Edit The Source Code Of An Open-Source App While going open source might be a good choice, you'll also need to invest in the right community. GitHub is one of the best places to do this, not only because of the sheer amount... Read More . Plus there’s even a native GitHub client for Windows as I know a handful of you use Windows.


Additionally, you can check out Ohloh which is another directory of open source projects that is editable by anyone, as well as Code52 where a different open source project is featured every week to help beginners “learn the ropes”. Google’s Summer of Code is another fantastic resource that makes a strong impact on the open source community. Finally, we’ve also highlighted 10 open source projects which you should contribute to The 10 Best Open Source Projects You Should Be Volunteering To Help With You don't have to be a programmer. You could be a writer, a designer, a translator, just a Facebook or Twitter junkie, or someone who wants to just donate money for the cause. There are... Read More .

Learning New Skills

Once you’ve found yourself an open source project you want to contribute to, great! Talk with people who are in charge of the project, start submitting patches, and otherwise study the code that already exists. While the best practice is to write code yourself, you can still learn a lot from the code that other people have written.

Don’t expect to have your fellow contributors teach you new skills, however. While many of them are more than happy to help you out with issues, they will not teach you entire courses. Instead, learning by open source contributions is very much a self-teaching process. You’ll see a project and its code, see a bug or a new feature that you’d like to add, and then figure out how to fix or add the feature as dictated by the project’s programming language and framework. So you’ll need to do a lot of Internet searches to learn new techniques, and then apply them to your open source work.


This way, you learn new skills, and you automatically have proof to back up your claim that you have that skill. Future employers can learn a lot by looking at your open source contributions, as these can tell them that you’re ready to do your job as soon as you’re hired. And best of all, you can do this even if you can’t manage to nab an internship position that ultimately gives you the same credentials.


If you’re not a coder, there are other great ways to help open source projects 8 Ways to Help Open-Source Projects If You're Not a Coder We’ve covered why it’s important to contribute to open-source projects, but what if you’re not a coder? You don't have to learn how to program to help your favorite open-source projects. Many non-programmers volunteer some... Read More !

Have you contributed to open source projects? How has this helped you grow as a programmer, and do you have any tips for other beginners? Let us know in the comments!

Image Credit: Internet background with binary code via Shutterstock

Explore more about: Open Source, Programming.

Whatsapp Pinterest

Enjoyed this article? Stay informed by joining our newsletter!

Enter your Email

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Quip Yowert
    May 10, 2015 at 3:07 am

    Open source projects aren't "Always accessible" unless you're assuming people always have the money to pay the Power and Net bill or have a way to get to Library or free WiFi.

  2. Vennroxx
    June 28, 2013 at 2:05 pm

    How can i increase my internet speed by plan i taken like 512kbps?
    How can i pull the speed over fixed assigned speed by MTNL DELHI?


  3. haider zafar fraud
    June 20, 2013 at 4:03 am


  4. Rick
    June 18, 2013 at 12:04 pm

    very informative with some great ideas that I am sure to look into.