I'm currently in a tight financial situation that makes it hard for me to continue my computer science studies without taking on some work. I finished my diploma back in 2020 and completed over 90% of my BSc, but I need additional income to see it through. I have skills in low-level languages like C, C++, and assembly and knowledge in network security. I've been told that I need stronger projects on my resume to show my skills, which is why I want to volunteer for computer science-related work. I've considered contributing to open source projects as an option, along with creating an indie game.
I've found some websites that list open source projects needing help, but I'm feeling a bit lost. How do I interpret their requirements and turn them into actionable tasks that I can tackle?
3 Answers
When getting into open source, it’s best to choose a project you actually use. Spend some time using the software to understand how it works before diving into the code. Familiarize yourself with the framework and language used, then try running the project locally. Make small changes to see how they affect the output, and check recent pull requests for guidance on what changes are accepted. Start small with a manageable project for an easier learning experience.
To contribute effectively, you need to look at open issues in the project. Identify what's wrong by checking expected versus actual outputs. Understand the potential causes of bugs to know where to start. Get comfortable with the code as well as the project’s domain. Sometimes just by being a user of the software, you can gain the necessary knowledge to fix issues, even without in-depth expertise. For example, I tackled a bug in Ffmpeg just by recognizing the problem from my own use of the tool.
While projects are definitely valuable, having a degree should still be a priority. Without a CS degree, it could be tough to land certain jobs, especially with companies having strict educational requirements. However, the tech landscape is changing, and more organizations are shifting towards skill-based hiring, particularly smaller companies and startups. Focus on building a strong portfolio through open-source contributions, showcasing your skills, and networking to improve your chances.
That's a solid point, but it's also true that in some places, having a CS degree gives you a significant edge, especially in competitive markets. It's worth considering how to balance gaining experience while still pursuing your degree.
That really depends on where you are. Some countries are more flexible and willing to hire candidates with unfinished degrees if they can prove their skills. Networking can be huge too! Just don't get discouraged by the degree requirement if you can showcase what you can do.