During my studies I was trying to use Open Source Software to solve my problems. Actually they were not real problems, but solving them was a good practice for me to learn programming and discover the tools that are publicly available.
I liked it a lot.
I liked the idea that people can collaborate and add their line of code in a big project even without working for a company or doing it for money. Also, I liked that the code is open and you can understand how and why the program works. In addition, I liked that you can get ideas about your projects and find out how other people are solving equivalent problems. Furthermore, I loved that you can interact with the code and add your own functionality without waiting for a vendor to do a release or begging the vendor to implement a specific feature that could be nice for you to use. Finally and most importantly, there is a high chance to meet new people and work together with them even if you are in different countries and work for different companies.
As time has gone by, I wanted to become a contributor as well but I found it difficult since I was not so mature Developer to write code which is “production” ready. Maybe the projects that I wanted to contribute to were not for newbies like me. I couldn’t follow, but this didn’t mean that I should have stopped. If you like what you do, then this kind of challenges makes you like it more. :)
During the last months that I work as a DevOps Engineer, we had multiple challenges with my colleagues since we are using a lot of Open Source projects in our stack. Luckily for me, we had to extend the functionality for several of them and this is where I did the leap and did my first Open Source contribution. It was amazing, I enjoyed it a lot and I will keep doing this whenever I face a problem that I can solve.
This is my experience with Open Source contribution until now. I would definitely suggest to any of my friends who are in this field to give it a chance and maybe you should try it too. :)