Every year, people looking to get their start in an entry-level position run into a familiar conundrum: “How can I land a job with limited work experience in this field?”
For most career fields, that means finding internships, volunteering and doing the best you can to highlight relevant achievements from previous work when interviewing. Would-be tech pros, however, have another viable option—open-source projects. Perhaps you’ve seen this term before, but what exactly does it mean and how do you get involved? How can these open-source projects help you?
We’re here to help you answer all of these questions and more with the help of some industry experts.
What does “open source” mean?
Broadly speaking, “open source” refers to anything someone can change or adapt in order to meet a need because the design is publicly available. Wikipedia pages would be considered openly sourced, because the public is free to add or revise content on any given page.
In this context, we’re referring to software or applications with publicly available code that programmers can manipulate. Programmers working on open-source projects take on a variety of tasks—some focus on debugging code while others may venture out to create entirely new features or functionality to add to the existing code.
Where can you find open-source projects?
The good news for those considering contributing is that there’s a vast amount of open-source projects to potentially pitch in on. Here are a handful of useful sites to begin your search for open-source projects:
- Bugzilla@Mozilla (Firefox developer Josh Matthews also offers a round-up of simple bugs to fix here)
- Google Open Source
Many of these sites have ways to filter projects based on factors like difficulty or programming language used. You will have to do a little bit of digging to identify the right project to take on. Paul Oostenrijk, Lead Backend Engineer at Fueled, recommends finding highly active projects.
“The most important thing to check out while using an open-source project is seeing what the popularity of [the project] is and how well it is being maintained,” Oostenrijk says.
Oostenrijk recommends checking GitHub Stars and the commit activity of the repositories to get an indication of whether or not a project will be properly maintained over time.
While it may be more straightforward to set out on a mission to find a project with the intent of contributing, you may also be able to find projects organically. Jack Wakefield, Senior Developer at ApplinSkinner, suggests it may be better to let the project come to you.
“It’s more of a process of using open-source code, finding an issue or a lack of a particular feature, and then improving upon and contributing back rather than seeking out projects to work on.”
What does it take to contribute?
If you’re just getting starting in programming and development, it’s understandable if you’re feeling a bit intimidated or unsure of yourself. But is there a place for newcomers in open-source development?
“Absolutely,” Wakefield says. “Some larger and more structured open-source projects provide task lists based on difficulty.” He says projects like LibreOffice offer the ability to begin with simple tasks like text changes and translations to get a feel for the code base and workflow, regardless of programming experience.
Like anything, there’s going to be a learning curve, but don’t let that discourage you.
“Open-source projects are communities; they are very warm and welcoming to new contributors,” says Kyle White, founder of Very Connect.
That said, White strongly recommends reading the project’s guidelines and associated documents before diving in. Contributors are friendly, but don’t expect them to hold your hand and walk you through simple questions that can be answered with a little research.
Another common fear for newcomers is the belief that a mistake in their work could wreck an entire project. But for the vast majority of established projects, that’s simply not true.
“Most open-source projects include some form of code review before accepting contributed code, so you’re not likely to break anything by submitting ‘bad’ code,” Wakefield says.
How do open-source projects benefit contributors?
Programmers looking to grow professionally have a lot to gain from participating in open-source projects. Here are a few of the biggest perks:
1. Open-source projects provide relevant experience
Unlike in some professions, programmers and developers have an excellent avenue for applying what they know and proving themselves by contributing to these projects. If you’ve had your contributions accepted, you now have concrete examples of how you work in a collaborative programming environment.
“Employers definitely place value on open-source collaboration experience,” White says.
White adds that the key is highlighting this experience in a way that sounds appealing to employers. For example, don’t just say you’re coding for free in your spare time. Say you’ve worked as part of a team of developers who fixed issues and built a tool that’s being used by thousands of people daily.
Mike Finch, Design Director at SpiderOak, advises to put yourself in the shoes of a hiring manager.
“Would you rather hire the new grad whose portfolio is just theoretical school projects, or the new grad whose portfolio shows that they know how to work on a team to ship real software?” Finch asks.
2. Work is critiqued by professionals
One of the potentially intimidating parts of open-source coding is that your work is typically peer-reviewed. While this feedback may be tough to see as you grow, you will receive valuable constructive criticism that will ultimately make you a better contributor.
“It may seem daunting, but it is a really helpful process that helps to find both bugs and inconsistencies as well as improve your code,” Wakefield says.
White says that this process of review has benefited him immensely.
“At a young age, I was exposed to some fantastically talented people who were willing to share their expertise freely and openly,” White shares.
3. They develop collaboration and communication skills
“Open” is the operative word in “open source”—contributors can come from anywhere around the world, which means you’ll have the opportunity to become a better communicator while developing your ability to work as part of a team.
“Working across multiple time zones and countless schedules, you become a master of working and communicating remotely—a critical skill for this age,” says Finch.
4. Builds confidence
No matter the amount of studying you do, it can be hard to feel like you’ve got what it takes to work as a programmer or developer if you’ve never applied yourself in a “live” situation. Open source projects give you plenty of opportunity to build confidence, especially as peer-reviewed work is approved.
“I’ve certainly gained confidence in my abilities from releasing open source code, especially in the early days,” says Wakefield. “It is sort of like peer to peer validation of your abilities.”
5. Provides networking opportunities
“There are definitely tangible benefits like job offers or industry connections, and friends can be made from companies and other developers discovering your open-source projects,” says Wakefield.
Open-source projects offer great opportunities to meet established programmers and developers and build relationships with them. While it’s probably a bit optimistic to assume you’ll be swimming in job offers from people you’ve met while working on these projects, it never hurts to have a network of knowledgeable peers to turn to for questions.
First thing’s first
Now that you know more about open-source projects and the positive impact they can have on your career, you’re probably itching to get started. But before you dive in, you may want to take a step back and identify the programming languages you’d like to focus on. Check out our article, The 14 Best Programming Languages Based on Earnings and Opportunities to get a better idea of how some of the most popular programming languages stack up.