Success isn’t always about ‘Greatness’, it’s about consistency. Consistent, hard work gains success. Greatness will come. - Dwayne Johnson
Like most of the engineering students, I was stuck between what was taught in the university and what was being practiced in the industry. The huge gap between the two widens even further for software industry where trends and technology changes on a very rapid pace.
I would like to stress a fact before I proceed to talk about the #301DaysofCode challenge, university education, though outdated, is still very important as it lays down our foundation concepts which are very important to learn and master new technologies quicky.
In 2019 summer break of my university, I found myself knowing only basic programming and doing nothing and saw my friends doing crash courses and certifications. Taking nothing away from them, everyone is on their own journey but the thing I learnt during that phase was that we should never compete with others and try to review and reterospect ourselves.
If you compete with others, you will become their equals; if you compete with yourself and improve daily, you will become better each and every day.
I won't be shy saying this but I always felt like I was doing fine back then because I was still in the second year but knew technology like Apache Maven, GitHub, Shell Scripting etc. and many other DevOps tools. But the sooner you realize this, the better it is, the outside world is full of amazing people who learn and develop better things.
When I realized this, I found out that Knowledge is nothing until you implement it in real time projects. Fortunately for software developers, we can collaborate in project levels of all varieties since most projects are open source and hosted on public repositories. Still, the selection of projects and bridging the gap from what I knew and what I needed was missing, I needed some experience.
Thanks to my friend, Priyanka Yadav, I joined OpenGenus Foundation as a Software Developer Intern in July, 2019 and thus I got involved with industry projects and community on social media like Twitter and LinkedIn and came across the #301DaysofCode Challenge.
I also publically committed to the challenge in July 2019 and never turned back on it.
My Journey for #301DaysofCode
Like most of the peers working on the #301DaysofCode challenge, I wanted to share whatever I learnt on a daily basis to GitHub. My aim was to get consistent on the platform and then gradually move to community projects. Thanks to my university, University of Petroleum and Energy Studies, for being the first Indian University to formally teach VCS using GitHub in curriculum in academic partner with Xebia. Their immense support and training helped me a lot during my initial days of the challenge.
My first few weeks of the challenge were very disheartening, I was learning HTML at the time and was unable to write a good blog on it so that it could be pushed at OpenGenus IQ. But that's how life goes, nothing comes easy and we should never falter if we fail and always come back.
Remember that we always fall down so that we can get back up
My mentor at OpenGenus Foundation, Aditya sir, helped me tremendously during those days. He constantly mentored me how to write this simple HTML blog for 5 days and then put it on the Cosmos project.
The experience of collaborating on an open source project like Cosmos, which has 12k+ stars and 800+ collaborators, changed my perception deeply. I knew basics of GitHub but never knew how to collaborate on a project which gets changed so rapidly and get updated by so many people. Learning about synchronizing of the forks, standardizing the Pull Requests and documenting using Markdown is very important.
It surely was a pretty slow start on the challenge with basic HTML and CSS learning but I gradually got into the groove of it and one month later I was building Full Stack projects using DevOps tools and blogging about recently launched GitHub Actions which was just 20 days into its beta release at that time.
Good employees are not a liability. They don't do what they are ordered to, but they add value to the company and advise what can be done to improve the current plan and ask if they can do things according to themselves.
After I wrote my first few blogs on HTML and CSS, I shifted my focus on writing blogs in DevOps domain which I was interested in and Aditya sir supported me all along.
While it took 7 days to get my first blog reviewd and published, I worked pretty hard and wrote 21 more blogs during the next 7 weeks of my internship and got the User of the Month Award for my contributions to the OpenGenus IQ.
At the end of September, my internship at OpenGenus Foundation had ended and I could not sign up for an extension since my university had re-opened for the 3rd year but still I will always be thankful for the great experience I had there.
I was now on my own and had made up my mind to be consistent on GitHub and post my daily progress on my Twitter handle. I wanted to start some of my own projects and collaborate in open source projects as well.
This is for all the people who approach me about how I became so consistent and started maintaining and collaborating on open source projects. The first thing is get in an industry internship. Remote/onsite, paid/unpaid does not matter for the first experience. Experience is very important. Secondly, to find open source projects in the domain you want or programming language you want, start using Up for Grabs.
Visit Up-for-Grabs for list of open source projects you can collaborate in.
I did make some open source projects in organizations like OpenGenus and GitHub but I realized that understanding of the real time projects needs a lot of patience and my skill set was still not up to the mark. Thus, I started learning more tools and technologies and hosted my own open source projects at Up-for-Grabs.
My open source repositories hosted on Up-for-Grabs that gained a little traction and got some collaborators include Apache Maven using CMD, Docker and Kubernetes 101 and #100DaysofMLCode
My first real open source collaboration came at Hacktoberfest 2019 competition, where I made a staggering 48 pull requests in open source projects and also helped 20+ people with my Hello World repository.
After completion of the #100DaysofCode challenge, I realized that knowledge sharing is very important and many people struggle to get the right push in their careers. I thus collaborated with my friend, Karan Nautiyal, to create a GitHub organization called Storms in Brewing to help others start their open source journey and helped many students of my college start their #100DaysofCode and #301DaysofCode challenge journey. You can see them in action at Twitter using the hashtag #DevOpsatUPES and #100DaysofCodeatUPES.
In 2020 March, I participated in GitHub Hackathon and created an OpenGL Actions repository for which I got top 100 rankings globally.
At the end of my #301DaysofCode journey, I became the Most Active GitHubber in India in April 2020, ranked by commits.top.
Even though this amazing journey has ended and I successfully completed the #301DaysofCode Challenge, I would still be humble and keep learning.
To everyone that is reading this, please be consistent, honest and practical. Never go for achievements and glory, keep working hard and earn them.
Also, Quantity always beats Quality, so work wisely.
Follow me on Twitter, GitHub and connect with me on LinkedIn.