You simply cannot be in web or software development and not have heard of Open Source Software. In case your computer/laptop/phone somehow has no internet connection, it’s a piece of software written by a group of developers in the public domain that can potentially accept help from anyone, anywhere. A beautifully utopian idea with roots as far back as the 60’s that has flourished over the last few decades as the world became more tech-dependant and interconnected. The most amazing thing is that our world, as it stands, relies quite heavily on technologies that came about thanks to this principle. The thing keeping the web ticking over exist thanks to Open Source Software. This link here will explain in better detail if you don’t know just how important Linux is.
Recently it has even become a route to employment for many as it can serve as a platform to show your technical and creative abilities to people that would really appreciate them. Along with the feel good factor associated with contributing, this is likely the most obvious benefit from getting and staying involved in the movement. But since making a few contributions myself, I’d like to discuss 3 reasons you should make a start today that are maybe not so apparent.
When learning web development, you quickly fall into habits. You can pick these up from those you work with, the material you are learning from or they could even spill over from completely unrelated areas of your life. The thing with habits is that they can allow you to become comfortable and if you get too comfortable then you will be getting less out of your work. Your potential to gain real value will be somewhat hindered. Should you choose to make a contribution to an Open Source project, you will be forcing yourself to adapt to a new way of doing things. For me, the most amazing thing about development is that there are so many ways to “skin a cat” as it were. In order to contribute, you need to understand what you are taking on and that involves not only reading the code, but understanding the code. The more you read, the more ways you see to achieve desired results. It will equip you with a wider coding vocabulary that can only benefit you in future endeavours. This can also greatly aid with integrating with a new team when starting a new job. Exposing yourself to a wider pool of methodologies will bolster your confidence when faced with yet another mix.
Seeing a range of projects and how they are thought out and laid out will make you a better technical writer when it comes to making your own documentation. Development, and especially team development, relies a great deal on the quality of it’s internal communication. When tackling complex tasks it is vitally important that one keeps track of what steps are being taken to solve the issue at hand, and also which issues are being handled and when. Organisation is a deal breaker and trying to organise chaotic thoughts is probably a harder task than building the software. When the thoughts are recorded in a clear and concise manner, the project’s overall efficiency gets closer to 100%. A great way to become a better writer is to read more, so to become a better technical writer you need to immerse yourself in more technical writing. Seeing, following and thinking through the ideas expressed by people using the same or similar technologies to the ones your are familiar with can only give rise to your own deeper understanding of subject.
You can reach one foot way out of your comfort zone while keeping the other firmly planted within it. My first experience of this is what makes me swear by Open Source as the greatest teacher of development. I am a Laravel developer and therefore I have written and ran my fair share of database migrations using PHP and the native Laravel methods. I would have said I was quite confident with them, then I came across a project that was a live accounting web application that needed some columns within its production database (price) converted from float to integer (dollars to cents). So I took it on. I wrote the migration that would alter the database columns so that future records would be made in the desired format, but what about the already existing records…? This problem I had never faced. Any work I had done up until then was purely from scratch, so a change like that was no bother at all as it would not have been pushed to production yet. Honestly, I wasn’t even sure there would be a solution. So I got to asking. I consulted a colleague or two, I consulted the repository maintainers and they all pointed me in the right direction. With what I’d learnt from them, I did what all developers do and hit the search engines to find the needed documentation and boom! Within an hour I had written my first piece of SQL from within a Laravel migration file. Not only was it eye opening in the singular sense, but it was the experience that taught me that the possibilities with this kind if work are always going to be far greater than I could imagine. This has been what pushes me to learn more and more, and honestly, my interest has not waivered one iota since that day.
I know I won’t be the greatest Open Source contributor of all time by a very very long shot, but I am absolutely and one-hundred-percently convinced that any and all contributions are the best thing anyone can do for themselves and also the collective us.
If you haven’t already, just go on GitHub and search for projects that might interest you and make a pull request. If that still seems daunting, even after my incredibly convincing arguments above, then go and check out my super easy to contribute to news scraping API project here, written in JavaScript and in need of all levels of contribution.
Giving and Learning are the most rewarding things a person can do and it is what Open Source is all about. Dive in right now!