I start this blog post with an important advisory note. You have to have a big desire to learn how to program before you sit down to learn how to program by yourself.
Because you want to expand your career or business, or because you want a career change, o because… well, fun, wanting to learn is the thing that will help you be a successful self-taught programmer.
When you are stuck in a coding problem and are searching for answers, it is very important to remind yourself about your reasons for why are you learning to program. With that said, let’s move on.
Learn to code on your own
The internet is a beautiful place where we can find every type of information in a matter of seconds. That is A LOT of information.
Not every resource, either verbally or written, explains every concept in such a manner that you can understand. Therefore, you can spend a lot of time researching for that course provider, magazine, or blogger that prepares learning material that your brain comprehends.
Also, if you are on a budget, it is time-consuming to find practice material that is free of charge. It is much easier to find free of charge theoretical material with a few practical problems.
I will be updating the list when I continue to find resources that have been helpful a couple of times.
- If you have never taken a computer science, web development, or algorithm course, it is required for you to take time to see, read, or hear what a program is, and how does it work. Learning to Program de Steven Foote (Senior Software Engineer at LinkedIn when this was published) is an excellent book to break the programming ice. It explains everything from what a program is, how does it work, the various programming languages, and their differences. Also, he guides you in creating a Chrome extension.
- Code Academy – is a programming language learning platform where you can create a free account. With the free account, you have access to the basic courses on web development. The good thing about this platform is that it is interactive. On the same platform, you can solve the practical example and the platform detects if there is an error in the code. I use this platform a lot to refresh basic concepts, especially for ReactJS.
- Stack Overflow – a resource where you will find a world of questions and answers between web developers. As a self-learner and newbie, debugging and describing your code in words can be challenging. This resource has helped me understand how developers communicate with each other when they have issues. It has helped me put into words my bugs. By reading that other people had the same problem as you, you can read how other people explained it, and how other people helped solved it.
- Github – is an online repository, and its main propose is versioning. I consider Github a good learning resource because it is open source. You can see the code of the components that are stored on the repository therefore, you can learn to write and maintain code. As Stack Overflow, which is based on questions and answers, on Github, you can read each change that users have made to their repositories, or how other users have collaborated on the project.
- CSS Tricks – it has great articles that explain different ways to use CSS. I have bookmarked this article they did on FlexBox. I always go back to it when I am dealing with page layout.
- Dev.to – is a community of software developers helping each other. Not only you can find great posts about web development, but also you can read about experiences from beginner, mid, and senior developers that have learned either from college, boot camps, or by themselves, and are working in companies, freelancing, startups or agencies.
- freeCodeCamp – it’s a non-profit organization that provides neatly explained articles about web development. They have a curriculum set in for everything you need to know, and practice, about to become a Software Developer. They also refer to other resources for more information or practice. Excellent for people who have not written a line of code.
You can do it
I hope that this list helps you start, or at least guides you, on your front-end self-taught journey. Learning to code requires a lot of reading and practice.
From the list I provided, MDN, Stack Overflow, Github, and CSS Tricks are the only resources that are not courses, training, or books. I would consider those as “Continuous Improvement Resources”.
The rest of the resources require either time to understand or time to practice. If you have finished with the resources listed in this article, I would recommend that you should start a small project for practice. You can search for a webpage you like and try to copy its look and functionality. You can try to create your portfolio from scratch. Practice, practice, practice…. I can not stress enough that you need to practice.
But also, take it easy. All of us have gone through that frustration when the program does not do what you want it to do. When those frustrating times kick in, think about how satisfying it is when it does work. It is even more satisfying when you realize that you can create on your own, and learned by yourself… (it is known).
By the way
This post was written while I was listening to Karen O and Danger Mouse’s new album Lux Prima. Karen O is the lead singer from the band Yeah Yeah Yeahs, which you should check it out too because is great! I had that album on repeat all day. I would recommend this album you want to something smooth but a bit upbeat.
Do you know of another great Spanish or English resource that is not listed here? Which resource would you recommend?