Its about 5-6 years I have started learning programming. I had started programming with windows platform but later I fall in love with opensource tools. When I was a varsity student I used
g++ compiler which are opensource. I used Codeblocks, Geany, Eclipse IDE which are opensource.
Now a days one of most important development tool is Intellij Idea which is also opensource. When I was in 2nd year started freelanced software development and most of the work I did was in Java platform which is also opensource.
So always I feel that I should contribute to make better opensource software. And then I have started contributing to opensource projects. But then I become more benefited.
Now you may ask how ?
Ok, When I developed freelanced projects hardly I followed software development rules like design pattern, software architecture etc. But in opensource software development every project has some standard software development rules which are must to follow. So if you want to contribute to a project you have to follow some standard rules otherwise they won't accept your pull request and this way you will learn and become a better software developer. You can go through other developers code and from there you can learn better software development practises and approach.
Its about self marketing. Few days back I got a job offer through email.
Now guess how the recruiter got my email ? Ok, So far could be he was looking for erlang developer on github to recruit. And reached repository of EMQ Inc. who develop erlang based IOT application and they have developed an erlang based MQTT broker. Few days back I have developed a plugin for the broker and the recruiter has reached me from there. Its not the first time I get job offer from github. Now think who is benefited mostly.
Today got a mail from someone named Rafayel,
and he asked to give feedback about his site so they can improve user experience. By this way my developers network is growing. Now think if I weren't an opensource contributor is there any possibility for Rafayel to get in touch ? Possibly not.
You should try opensource software development at least to introduce yourself to the world. When you have a good github (or anyother opensource contribution platform)
profile that means you have better development skill.