What is the purpose of this blog?
Well, I will tell you a small mistake that has a significant impact on my life.
I was excited and inspired by the Open Source Community when I joined engineering. I was wondering where to begin, and in the excitement of learning, I worked and achieved unfinished projects with a shallow knowledge of each domain in 2 years!
Future developers should not commit the same mistake I did, as time is very precious and should learn to set timelines and follow it rigorously.
The following timeline is in consideration for those who are pursuing engineering and is a personal opinion!
Learn how the web works
Learn an Object Oriented Programming language
Having strength with one core language like C++, Java, Python, etc is essential before beginning to contribute to a project of an open-source organization.
Git is a version control system and is an essential tool for any developer, which helps in project management when working with a team of developers.
Check out Stack Overflow
Irritated with buggy code in a project, and have no idea what to do? Every developer will recommend visiting this paradise where questions are raised, but answers are mostly in code! You don’t have to reinvent the wheel as someone would have encountered your problem! All you have to do is to sit and search 😆.
Explore different domains
A domain is a sub-branch within the mainstream subject and has a separate path to learn and gain expertise in the field.
I have listed some of the trending domains of Computer Science, but there are many other domains as well.
Artificial Intelligence (AI)
Internet Of Things (IoT)
Virtual Reality (VR)/Augmented Reality (AR)
Mobile App Development
Create a simple application using OOPs
If you can create an application using the skills developed, it will in turn boost confidence to learn new languages as well as build industry-standard projects!
Participate in Hackathons, Conferences
Hackathon is an adrenaline rush contest, where projects are built in teams from scratch with the knowledge one knows, and it is a platform to connect with industry personnel and fellow developers.
Conferences ensure one is updated with the latest trends. It acts as a platform to connect with fellow developers from other regions and gain exposure to various technologies.
Explore open source projects
Companies are recruiting freshers who have experience in the field for a particular job role. This can be attained by contributing to open source projects which are maintained by various organizations and hosted in platforms like GitHub, GitLab, bitbucket, etc.
The perfect approach to begin contribution is by following the community to get in touch with senior developers and searching for good first issues. Who knows you might be recruited from here as well 😉.
Conduct an event or workshop
It's always good to conduct an event, as it improves management and communication skills, which are very essential and you can be in contact with company leaders, which is in itself a huge bonus.
Google Summer of Code is an annual event conducted by Google during summer, where 100’s of Open Source Organization provide projects to work that might be in its nascent phase, and a student can earn a stipend while working on it! Getting selected is not as easy as it sounds, but it is a dream to work with fellow developers who have 20+ years of experience and will work in one of the largest organizations.
Build a resume
It's high time you have one ready, even if you had not created one. This document will be highlighting your achievements, experience gained from workspace like internships, open-source contributions, various projects built, and your details.
Strengthen the foundation for interviews
Well, this is one of the significant moments of your life when organizations approach and select the brightest of the batch. The interviews will not be easy, so preparing for it is essential irrespective of how much experience of work you have.
Continue contribution and promote open source projects!
If you have landed in a reputed company, that's great congrats! If you have time, then contribute and promote open source development, as this keeps the spirit of open-source thriving, which in turn benefits future developers as well.
There might be some points that I forgot to address, but hopefully, this timeline will be useful for everyone who has read this.
Enjoy every moment, as life will have its surprises. So if a goal is not achieved DON’T BE DISCOURAGED! Realize a new path and go ahead!