How You Can Develop Your Skills Through Open Source Contributions?
1. Appreciate diversity, combat bias
Popular open-source initiatives attract many contributors from all around the world. This creates a very colourful team where people come from different companies, are rooted in diverse cultures and have varied work experience.
Working in such a team might be very disconcerting at first! All of a sudden you might realize that things “obvious” to you are merely interesting theories for others. Similarly you might see that ideas you’ve previously discarded outright (or didn’t think of, in the first place) were successfully implemented by someone else in the team.
Such a diverse working environment might challenge your core principles and beliefs, but those are ideal conditions for growing new ideas. You will quickly learn that novel concepts are everywhere and the most “crazy” approach might work very well in practice.
2. Improve your communication skills
More often than not, an open-source “tribe” is dispersed around the world, working in different locations and time zones, which makes effective communication indispensable.
To start with, it is much harder to call for an ad-hoc face to face meeting. Written communication often works best, however as no one likes to write (or read!) long documents you need to work harder on distilling your thoughts. What does work are solid arguments backed up by hard data, presented in a concise, easy to understand manner.
Excessive or irrelevant communication is very easy to measure in open-source: anything that doesn’t result in code being written tends to get eliminated.
3. Don’t be afraid of starting with a blank sheet
Prominent open-source projects often aim at tackling previously unsolved problems or applying untested techniques. This constant “living on the edge” is exciting but can be overwhelming as well. Indeed, you need to advance in unchartered territories, day in and day out. Fortunately things get easier with time as you notice that many baby steps in the right direction can lead to a major breakthrough.
Obviously perseverance doesn’t always pay off. But even if your original plan doesn’t work out you will obtain new insights and you will learn more about the nature of the problem.
4. Take your motivation to the next level
Individuals working on open source projects tend to be very motivated since it would be hard to devote your free time to something that you are not absolutely passionate about! Being among motivated and well-intentioned individuals puts you in a good state of mind and brings your own motivation to next level!
5. Grow a thick skin and keep your cool
Despite best intentions and hard work, any popular project will inevitably attract critics. Sometimes certain comments might be hard to swallow, especially when unfounded or simply rude. While we’re all human and tend to respond emotionally to negative feedback, it’s important to take time and understand the actual problem before responding. This might be difficult but will ultimately be beneficial for the project in question.
These “soft skills” might sound obvious, but putting them into practice through my Open Source contributions has been hugely beneficial for me. I would encourage you to contribute to open-source projects as it will grow your technical skills and supercharge teamwork skills.