Any skill needs constant upgrading and practice to prevent stagnation. This holds true for the technical engineers in the IT field among others. While a hands-on technical person is constantly writing codes or working on developing software for a project in an organization, when it comes to sharpening the skills, we believe there can be nothing better than working on open source projects. The technical benefits accrued from handling open source projects are often undervalued.
It’s a misconception that an open source project only needs good programmers. A project always needs skills of various kinds. You could be a testing professional, a pure coder, a person with experience in documentation, or even a marketing professional. Open source projects can be the common ground where you can meet people with your skill set, discuss, and learn from experiences around.
Let’s dig into the many ways you could use open source projects to project your skills as well as polish them.
Bring in a new code:
Oftentimes a technical engineer works on a project where his core skills are not completely utilized. In an open source project, everyone brings something to the table. The idea is to contribute in order to benefit. Much like a potluck, you’re required to share your code and get to be a part of what the others have already contributed. The knowledge exchange is always beneficial. Either your idea gets noticed and appreciated in a technical forum, or you get a free tutorial on what would be a better way to approach a problem.
In the frenzy to add codes and better the project, the persisting issues are sometimes pushed to the backburner. For a person who seeks to gain from the vast pool of technical knowledge, it might be worthwhile to identify an existing problem and help to troubleshoot. It is natural to assume that as a new person in the group, bringing a problem to the fore might not be a wise move. However, troubleshooting is one of the core aspects of a project and even if you cannot completely debug the problem you could contribute by eliminating the possible causes.
Be open to learning:
Open source does not work for someone who is closed to adopting ways apart from the standard ones to arriving at a solution. Learning a new approach broadens the horizons and adds value to the technical skillset. Also, open source projects work only when there’s team harmony. Adding codes that are in conflict with the style of the existing team can cause unnecessary friction. Spending some time to understand the style of coding, the approach hitherto applied to problem solving helps to get acclimatized to a different working environment.
Help with beta testing:
A project due to release is always on the lookout for persons who could test the project in different environments and platforms. Open source projects generally fall short of testers who can test the software and its subsequent versions for bugs and fix them. Certain bugs are detected in a particular environment and if there is a strong pool of testers from different working conditions, it will help to strengthen the grounds for a sound release.
Test, update, and document:
Test suites are common in projects. A presence of a test suite is not to suggest that additional tests are not required or cannot be added. There are source codes that go undetected by test suites. A good way to contribute and learn from open source projects would be to identify these codes, create tests for them, and add these to the suite.
With every bug fixed, the test report needs to be updated. This is also true when newer features or codes are added.
The crucial part of any project is documenting the process in detail. Many a project gives this a miss because the resources are busy in the ‘more’ important part of the process. However, documentation is like writing a history text. It needs to be updated constantly but also serves as a firm base for the next set of users.
Help and share your experiences:
Open source projects thrive on vibrant community. If you’re a part of such a community, it is a good idea to help the other members, answer queries whenever possible and encourage a healthy discussion. Jotting down a first-hand account of how a project helped you in shaping your knowledge on a technical blog is a good way to highlight the project. A case study on how a particular code or method tackled a niggling issue will add value to your resume. It is also a way of giving back to the technical community on the World Wide Web that would benefit immensely from such case studies.