Are you new to coding and overwhelmed with all the resources available to learn various languages? I have struggled keeping focused throughout my journey, and still get to points where I don't know what to do next to continue improving my skills. Whenever this happens, I end up starting 10 different projects at the same time as I can't focus on one thing only. However, I have started collecting the different resources I have found and different tools and challenges to keep me focused! Best part is, most of them are free!
Completely new to coding
If you are completely new to coding, I would say it's a good start to learn the basics around HTML, CSS and then add JavaScript to this. FreeCodeCamp is a great site to start learning in a visual way and building this foundation. You will find a lot of different options there on both coding languages and certifications available for free. If you go through both the Responsive Web Design and JavaScript Algorithms and Data Structures you will have a great foundation for the next steps!
Improving your skills
This is the part I have struggled with the most, where to best improve my skills. One site I love to use is Codewars, it is structured in a way where you can select your preferred language and solve various challenges using that language. It will have automated testing in place for you to test your code before submitting. Once submitted, you are able to see others solution and I found this very educational to see different ways to solve the same task.
Another site that I only found recently is 50Projects50Days and I am so glad that I found this site. You can solve it in your own ways, but I chose to use HTML, CSS and vanilla JavaScript and am learning a ton doing so. I might not work on all 50 projects, but I am planning to get through all the ones I find fun and useful for future work.
To build onto all of the above and more, I highly recommend signing up for CS50: Introduction to Computer Science. It took me a while to actually start with this course that is offered by Harvard for free, but once started, I learned so many things I would never have looked into otherwise. The methods used during lectures are just great and very educational, and combined with exercises afterwards builds onto your knowledge even further.
WebDevSimplify has so many short videos on YouTube where you can get a better understanding of all things web development. I tend to watch the videos when I want to learn but not code actively myself. I then find videos on parts that I have been using but not fully understanding.
To keep myself focused and continuing to learn, I find tech twitter and the #100DaysOfCode challenge great! I'm yet to complete this challenge, but the response and encouragement from others who are taking part is what keeps me going on the 100 days journey.
Taking a break from tutorials
Even though I love udemy and all courses available there, I noticed that I was mainly copying what they were doing and as a result not knowing how to do all parts myself. You are able to find a lot of great courses, with exercises to complete on your own as well, so don't ignore this altogether but I find this more helpful to get more context on various approaches and adding to what you already know.
What's next?
After I have completed more of the 50 projects, 50 days, I will move on to work with APIs again and React. I found a great list of public APIs that I am planning to review and find ones I am interested in using and will share those next!