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.

Disclaimer:

The following timeline is in consideration for those who are pursuing engineering and is a personal opinion!

1st year

Learn how the web works

You can learn HTML, CSS, and Javascript which is the foundation that is required to build any website seen on the internet. Refer to the documentation provided by Mozilla to know about how the internet works. And of course, there is Youtube if concepts don’t make sense.

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.

Learn git

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)

  • Cloud/DevOps

  • Ethical Hacking

  • Internet Of Things (IoT)

  • Virtual Reality (VR)/Augmented Reality (AR)

  • Web Development

  • Mobile App Development

2nd year

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 😉.

3rd year

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.

GSoC

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.

4th year

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.

Conclusion

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!