It's scary to switch careers. When you want to switch as a software engineer, there are number of resources available for free to learn coding. Sometimes you even get confused where to start and how. So I've just decided to share it in only one article.
Getting started
Before diving into it, I've done some quick research on what you need to know at least to become a developer. For the web development, the answer was pretty much HTML, CSS and JavaScript. So that is what I started with.
Khan Academy : A great resource to make strong your computer science fundamentals and programming.
Codecademy : A perfect resource for beginner to start learning web development. Their explanations are quite clear and they try to visualize thing where they can.
Sololearn : A learning platform for bitesized lessons, little quizzes and challenges for all languages. You can collect points and level up as you complete the lessons. There are web and app versions available. You can choose according to your own pace.
freeCodeCamp : A good start to learn reponsive web design and data structure and algorithms. Don't feel intimidated if you're just starting out. It takes some time to learn to implement an algorithm after you understand it conceptually. If you feel stuck, the best thing to do is to take a break. Break a problem into little steps and try to solve one by one. To learn in a better way, never use computer or laptop to write down your code for the first time. Write your solution on the piece of paper and try to debug it. Talking it with another person is also very useful. FreeCodeCamp also has an active Youtube Channel and a Discord Server that you can join.
The Odin Project : It has an open source curriculumto learn full satck development with JavaScript or Ruby on the backend. The odin project requires you set up your own environment which may feel daunting at first, but it's a great step towards buiding your first project! They also have an active Discord Server where you can find study buddies and share your progress with fellow learners.
Whilst these were the main resources to start with, there are many more websites that I found very helpful.
For CSS
Flexbox Froggy : A game for learning Flexbox.
Grid Garden : A game for learning CSS Grid.
CSS tricks : A great website for more in-depth information and helpful tricks about CSS.
MDN Dev Docs - CSS : A great referance to visit but not as visual as CSS tricks.
Frontend Mentor : A website for frontend challenges. They provide you with the requirements and images if needed and you try to code the project as best as you can. Once you're done with solution and submit, their community can provide you with the feedback.
For JavaScript
Wes Bos JavaScript 30 : Thirty fun little projects to learn JavaScript
JavaScript.info : Great for learning JavaScript concepts and JS tutorials.
Traversy Media : YouTube channel with lots of great intros
Dev Ed : Another great YouTube channel for enhancing your web development skills.
Web Dev Simplified : All in one platform for web development
Eloquent Javascript : A well-written book about JavaScript with helpful exercises
You don't know JS : A book series to learn more about the weird parts of JavaScript
Node School : Tutorials for learning Node.js (JavaScript on the backend)
MDN Dev docs - JavaScript Guide : Good to take referance
For Coding Challenges
CodeWars : Fun way to practice your JavaScript skills. You collect points as you solve coding challenges. You can filter challenges by language and difficulty level. Make sure you don't rush through it, take your time to undestand why your solution works and why doesn't. After you solve it, you can look at other people's solution. Be careful not to confuse the highest voted or shortest solution with the best one.
LeetCode : Prominent for solving coding challenges. You can solve problem in any language of yor choice. You can also see efficiency of your solution compared to the other people's solution. You can see space and time complexity of your solution in graph and compare where you stand.
There are many more code challenges website like CoderByte, HackerRank and Exercism. You can choose according to your convenience and move forward.
For more resources
Hackr.io : You can find both paid and free resources for all kinds of languages on here, including JavaScript.
Bento : You can find learning paths for different topics.
That's it. I hope this list is helpful for you. If you're completely new to coding, I would suggest focusing on one resource first and then move to others as you try to learn more. Jumping between websites can actually be quite distracting and makes you confuse.
Also remember that you don't need to know it all. I can assure you that there's a lot learnt during self-studies that you don't actively use at work, and a lot that you only learn at your work. So according to me, a great strategy will be to get fundamentals right, build some projects to showcase your skill, and then apply for the job. That way, you'll find out sooner what you want.
So happy learning! You can do it!
ReplyDeleteThis post is so helpfull and informative.Keep updating with more information...
Full Stack Developer Course In Mumbai
Full stack Developer Course In Ahmedabad
Full Stack Developer Course In Kochi
Full stack Developer Course In Trivandrum
Full Stack Developer Course In Kolkata