I started 2022 with only knowing HTML, CSS, and the basics of Java. I had suffered a health ailment which put me out of work for the first 3 months. Those 3 months gave me enough time to reflect on all my interests and push me in the right direction. After many experiments and reflections, I realized my interest was in software development. So I decided to get started there.
This is what I did, and you can too:-
Months 1 and 2
I started by revising Java, as the last Java program I had written was in 10th Grade (6 years ago). That took about a week. For the next 7 weeks, I spent my time learning DSA from Mosh - https://codewithmosh.com/p/data-structures-algorithms (80% of the time) and revising HTML and CSS and building mini projects using them (20% of the time).
Months 3 and 4
By this point in time, I had completed the theory and basic question of DSA. My next step was to learn JavaScript and how it can be used to manipulate the DOM, which I did from FCC – youtube.com/watch?v=PkZNo7MFNFg
Learning the basics of JS took me about 10 days, after which I created projects every 2–3 days. The point of each project was to learn or practise JS concepts. I made a ton of projects, including a few original ones as well. Resource for creating projects – youtube.com/watch?v=3PHXvlpOkf4&t=1s
Months 5, 6 and 7
I had learnt JS, jQuery, and DOM Manipulation at this point and made a couple of projects to show for it. Now it was time to learn a framework which would help me build scalable web apps. I chose to learn to React (https://www.udemy.com/course/react-the-complete-guide-incl-redux/) since it is the most used framework and the demand for it is huge. After going through the series above and learning the core concepts of React, it was time to build some projects. I started building a project every week and hosting them on firebase. I built apps such as chat apps (with compete for backend in firebase), an exercise directory app (using APIs) and a Dashboard using Material UI. It was by far the most period of my coding journey.
Month 8
I applied to 5 – 7 jobs on various platforms (95% via LinkedIn) daily for that month, heard back from 14 companies, interviewed for all and was finally offered a role by 4 companies. I was elated.
Key Pointers
Learn a language of choice (Java/ Python/ JavaScript) and learn DSA.
Keep in touch with DSA even after you are done with its theory of it. Practice a question or 2 daily.
Learn the skill you wish to learn in the shortest time possible (by watching some free YouTube courses). After that, spend a ton of time making multiple projects (again, search for the project you want on YouTube or a blog website). Projects are what will give you the depth needed in any subject.
Rinse and repeat, and you will be skilled in any area you want.
Bonus – Always learn in public. After you build a project, learn a new skill or publish a blog post on Twitter/LinkedIn. Do this not for the followers, but to build credibility and document your journey.
You will find tons of roadmaps leading to where you want to go (frontend, backend, etc.), but the method will remain the same as listed above. Trust the process.
What's Next?
I am getting started with learning more about backend development and Next.js.
I am looking at good first issues at the moment and looking forward to contributing to the open-source space.