Any developer who is staring their career should consider contributing to open source projects. Working on open source projects or community projects provide a lot of experience. They end up learning many things before they get into their real job. Sometimes the community projects people work on might be fully suitable and sustaining so that they won't even need another full time job.
There are many developers who have build some amazing tools and have been working as a freelancer instead of finding a full time job. This is all because they have a good skill set that can be fully used in their own convenience. Working on open source projects provide this learning curve.
Provides hands on coding experience
Working on an open source project is not a easy one. Especially for a starter, it is not easy because they have to first understand the existing code and then try to do something new. One of the toughest thing for a developer is to read someone else's code and understand. But if we add the right amount of efforts, we will be able to get hands on experience on some good project that can provide a great learning.
Working with repositories
For someone who is new to coding, repository management or code management may not be a familiar one. Working with codebase and letting others also push their code and working in a collaborative manner is again another learning. Understanding the repository structure and adapting to the existing coding standards is the most important thing here which can keep the code tidy and consistent. There is no one solution for all the problems so one repo can have one structure and another repository can have a different structure. Learning from both gives different perspectives.
Working with an experienced team
We may be the new person in the team but working on a open source project can bring perspectives from multiple people from different experiences. This itself is a different level of knowledge sharing. We have to consider everyone as someone in the same team and try and see if we can learn from other's experience. The learning from the approach others are taking can save us a lot of time because if we are doing something we have to do everything from scratch and learn but learning from someone else's experience is good because they would have already spent the time for learning and they are just passing the knowledge to you.
Problem solving experience
Sometimes troubleshooting is a pain. We may not get the necessary help from others or sometimes the problem we might be facing would be a unique one. It can be hard to find material online that can help us troubleshoot our problem. In spite of all these things, if we are able to resolve the issue, it gives a great problem solving experience to us. One of the biggest learning here is patience. We have to approach the problem with great level of patience and be persistent to solve the problem.
If you like what I'm doing on Hive, you can vote me as a witness with the links below.
|
|
|
Posted Using INLEO