The best tools to be a Software Engineer

Table of contents

No heading

No headings in the article.

You're a software engineer and do not get stuck, this seems impossible. From writing the "Hello World" program to being a senior Software Engineer, learning never stops and maybe today or tomorrow you'll stuck once. Learning doesn't come at an easy price but, when you're entering the software world, all you need is determination and bingo. You get what you want to achieve. With a million free resources all we need is a determination to learn. You don't need to have a college degree to become a software engineer. You can rule this world with your willingness to learn and the ability to code. The biggest question that arises is from where? With a million resources available what is the best resource to follow? Let's dig deep into it and I will tell you the resources which I have followed in my journey.

Resources:

  1. YouTube - The finest and the best resource to learn anything is YouTube. With all the available content, there are a lot of options to move ahead. What you should do is to follow a specific channel or some free course to brush up on your Data Structures and Algorithms skills. Some of the channels, I have taken references from are:- 1) Take U Forward 2) Aditya Verma - Dynamic Programming 3) Codehelp - By Love Babbar 4) Kunal Kushwaha

  2. GeeksforGeeks (GFG) - It is like a remedy to all your problems. Stuck somewhere? Open up the website and start reading an article. It contains articles, problems, puzzles, coding ide to practice, topic-wise distribution of problems, company-wise distribution of problems, core subjects articles, interview experiences, projects and what not. A one-stop place for all your engineering needs.

  3. FreeCodeCamp - Another impressive and important resource to trust is this. They have a website as well as a dedicated YouTube channel. They provide free courses on almost all the trending technologies starting from beginner level to the level you always wanted to be. The content is designed by experts and people who have relevant experience in the field and hence, a must for you in your learning journey.

  4. Official Documentation - If you want to extract the most out of anything then, the best resource is the original documentation designed by the developers or the people working in that organization. The articles are well structured and cover almost all the topics associated with the technology or the programming language.

  5. Leetcode - If you want to improve your problem-solving skills and test what you've got. The best place to do so is Leetcode. You have learned all the data structures and algorithms or a specific data structure, Leetcode has a curated list of problems covering any topic that can help you to brush up on your concepts and also test what you've learnt. There are also many challenges which are held where you can participate, compete with other learners and take the experience of an actual contest. If you're stuck on any problem then the discuss section of Leetcode comes to your rescue. A place where you can see different approaches to handling a single problem. Just a piece of advice - Invest at least half an hour in building the logic before jumping on to the discussion section.

  6. Stack Overflow - While solving any problem, sometimes we come across errors we haven't even imagined. We can just see an error message that is readable but sometimes, not understandable. That's where Stack Overflow comes to play. Just copy the error message and paste it. There's a high chance that someone before you have experienced a similar error in the past and someone would've provided the solution to it. You can just read it and try to figure out what you did wrong.

  7. Your notes and timely revision The most important thing is your notes. Many people often avoid making notes and later they tend to forget what they've learnt. No one's a super human that will remember everything you have watched or read. But, your notes are your own. You completely own them and they have been written in the language you understand best. That's your language. Hence, always make notes either digitally or on paper and revise them regularly. If possible, give one day in a week to revise.

You need to be disciplined rather than looking for motivation. A disciplined person manages to produce better output. And remember nothing is impossible.