When you’re starting out on your software engineering journey, contributing to an open source project can be a great way of becoming familiar with the various aspects of the Software Development Life Cycle (SDLC).
Each open source project typically has its own set of criteria on what merge or pull request will be accepted into their codebase, and these can vary greatly. From coding guidelines/standards, to passing all the relevant CI checks, to making sure you’ve completed the contribution agreement and signed off on your work, and to making sure that you’ve covered your change with a relevant test case, all of these things and many more may or may not be present for the open source project you’ve decided you want to contribute to - just like in the business world.
The people performing your code review also have their own opinions on your code contribution and how you both interact with each other will sometimes vary greatly across open source projects - just like in the business world.
So it’s pretty clear that contributing to open source as a newcomer to software engineering can give you a great insight into life as a software engineer and whether it might be right or not for you. Dip your toe in the water and contribute to open source today! But..
Why is GitLab different, and why should you contribute specifically to that open source project though?
GitLab is open source; you can use the free plan of their SaaS, GitLab.com, or download and self-host the free edition of their software, and many people do with great success. Their free offerings are quite generous and are jam-packed full of features.
GitLab is also a for-profit company and offers paid tiers for both their SaaS and self-hosted versions, and they therefore have a lot of software engineers on their payroll building their product for them.
From its very beginning, GitLab also accepts open source contributions and has always had a strong ethos around open source and transparency in general, so much so that almost all of GitLab’s engineering is done in the public eye on their public GitLab project, and the same code review process that GitLab staff use is exactly the same one that community contributors use, and that is the crucial element. Not only that, their entire staff handbook is available to the public, too!
When you contribute to GitLab, the reviewer treats you the same way they would treat a fellow staff member, and this process gives you an extremely valuable insight into what life is like working as a software engineer at a company of GitLab’s size, which is a rare opportunity in the open source world, and one I can highly recommend for new software engineers.
Happy contributing! :)