Many prominent figures in the community say that getting involved in open source is the best way to get to the next level as a developer. It gives you a specific problem to solve and it guarantees that you’ll get some form of feedback on your code.
If you listen to the thoughtbot’s Giant Robots podcast, Ben recently interviewed thoughtbot CTO Joe Ferris regarding the technical interview process and he identified open source projects/contributions on Github as a good resource to demonstrate your skills when applying for a developer position.
However, its hard to know how to best get started and find projects to get involved with, especially as an advanced beginner to intermediate level programmer.
Does anyone have any particular tips or projects that would lend themselves to contributions from less experienced developers?
I know Thoughtbot has a lot of open source libraries, so maybe that would be a good place to get started?
@crispincornett I think the easiest way to get involved is to pick a project that you have interest in. You will be more likely to put effort into working on something that you like or use.
We definitely have quite a few projects at thoughtbot that would be great to check out, we list a few of them here: http://www.thoughtbot.com/community.
We are also working on a way to make it easier for beginners to find issues that are more beginner friendly so keep an eye out for that.
Take a look at codetriage. Definitely the easiest way I’m aware of to get into open source contribution. https://github.com/codetriage/codetriage
@drapergeek thanks for the advice. I look forward to the more beginner friendly issues
@jtrinker that’s looks like a great resource. Thanks man!
I agree with what @drapergeek said. A few other recommendations:
- Documentation patches are really easy to get started with.
- Improving projects that you use daily will be more natural and rewarding.
- Most projects have a list of bugs and feature requests waiting for somebody to come fix them.
- If you want to start your own project, extract it from an application you’ve written. Most applications have some common library code that isn’t specific to the application’s domain.