Article Stats
- Published on October 2nd 2008
- Categorized under Features
- 3 comments and 0 Pingbacks
- 169 views in the past 24 hours
October 2nd/ Contributing to open source makes a better developer
I firmly believe that one of the best ways to become a better developer is contribute to open source. Whether that means picking an existing project and adding your ideas, or releasing your own code, it’s probably the best thing you can do to improve your skills as a developer.
1. It forces you to write code
Going back to my my amazing CSS tip, in order to best improve your skills in anything you must do. Contributing to open source forces you to do instead of talking about doing.
2. It forces you to write code for other people
It’s easy to write bad code. I see it happen every day. Deadlines, conflicting syntactical styles, and the idea that no one else will really look at the code results in ugly hacky code. When you don’t think anyone else is going to look at your code, it’s easy to think “It doesn’t need to look good, it just needs to work.” But when contributing to open source, people will be looking at your code — and that thought is always in the back of your head. It’s just like cleaning your room while your mom is watching you — you have to do it right, without any shortcuts.
4. It forces you to document your code
I’ve found that documenting your code is a very hard thing to do in a work environment. I’m not talking about code comments — I’m talking about practical, day-to-day how to use this piece of code documentation. But when you’re dealing with open source software, you have to document your code if you expect others to actually use it.
5. It allows your peers to review your work and offer suggestions
Code reviews are a great thing. It’s why so many “agile” development companies are increasingly moving wards Pair Programming. However, in most development firms, most code goes completely unreviewed (unless someone else needs to fix a bug in your code). But when you release Open Source code, you’re implicitly asking everyone to review your changes and comment on them.
You can see this in public now that we have the awesome Github. Just take a look at the activity stream for a popular project like Prototype or Rails and you’ll see people weighing their opinions in on almost every commit — just like this one. Many times these comments end up producing better code in later versions. Small bugs or performance gains that the original author overlooked.
Why aren’t you contributing?
So why aren’t you contributing to Open Source already? I know that I am. There’s no requirements — you don’t even need to fill a need or come up with a better solution than someone else — just a solution you’d like to explore. Who knows, maybe your ideas can be applied to someone else’s project, or it’ll take off and become wildly popular. Go fork something today
3 Comments
Make a Comment
don’t be afraid, it’s just text

Warpspire is the place that web professional Kyle Neath writes about the web.
October 3rd | #
You make some great points. I’ve found #2 to be especially true–your code looks very different when you know that you’re writing it for a group of people to use and not just you. Even if you normally write very clean code, it’s still a very different mindset to be writing code for another developer to actually use. You have to think about things like extensibility, ease of use, and all sorts of other issues that you really don’t consider when the code is only being written for your specific situation.
October 22nd | #
I absolutely agree, my own experience level was exponentially raised by doing open source projects. A good user base will shine a huge bright light on your design/code and, if your willing to listen, help you improve yourself along with the project.
October 27th | #
Did you forget #3? ;)
ps: your tabindex is screwy - tabbing from the content area of the comment to the next logical point (Post Comment) doesn’t work :(