The Greatest Online Tools to Learn Coding
Part 1: Websites & Platforms
Beginning of 2019 I decided to learn web development, focusing on JavaScript, and before going trough an intense bootcamp, my wish was to progress as much as possible on my own, using online resources.
JavaScript was quite new to me… but programming in general — as well! Beyond the fascination, fear and excitement, I was asking myself: “How far can I progress on my own?”.
It turns out: quite far! Many people have been in my situation once and their efforts to help others along the way resulted in an impressive collection of high quality tools, resources, videos and platforms. In this article I will focus on some of my favorite ones.
SoloLearn
I discovered SoloLearn while traveling, as it is the perfect tool to learn anywhere on the go or during waiting gaps, using your mobile device. Available for Android, iOS, Windows Phone, and also desktop, it includes beginner-friendly step-by-step tutorials forJavaScript, HTML, CSS, Java, Python, C, C#, C++, Ruby, Sql and Swift. After learning the fundamentals of each language, you throw mini-challenges to other users, as well as create and share code snippets using the code playground .
While the tutorial questions are often very basic, the great value of this platform is in the social features that it offers, and its gamification aspect: answering questions, winning challenges and creating snippets makes you score points and climb on the leaderboards. Ready? Code!!!
My advice: go through tutorials by bits and practice regularly, for example with challenges. Pick opponents with higher level to get more challenging questions from which you are likely to learn. If a question gets you stuck, screenshot it to check it later. Use the code playground and interact with other users.
FreeCodeCamp
Quincy Larson created FreeCodeCamp in 2014 resulting from the desire to provide a free, open source and self-paced way to teach anyone how to code. The result is an outstanding platform and a huge community of contributors on Github. There are 6 different certifications, essentially focused on web development, and a coding interview preparation program.
Each certification includes many steps combining theory and a related coding problem to solve, some of which are quite challenging. A submission of final projects is then required to obtain your certificate. There is no code playground embedded, so the web projects are done on CodePen.
I passed the “Frontend Web Design” and “Javascript Algorithms And Data Structures” certifications, and not only the experience is great, but I saw my level of JavaScript increasing fast when trying CodeWars challenges in between. Some algorithm questions can surely make a beginner sweat but the feeling of accomplishment is even greater once it is solved.
My advice: Final projects of the Frontend certification are good candidates for your personal portfolio, so while it is possible to “hack” them by just filling the code conditions, it is recommended spend some time on them. Make them look nice, clean and appealing, so that they truly reflect your dev skills. The 300 hours estimation to finish a certification might seem a lot, but actually highly depend on the time you invest in the final projects.
CodeWars
Welcome to the dojo of code, fasten your belt and step on the tatami! With a dark interface, minimal graphic features, and a little test before being allowed to sign in (beginner friendly), CodeWars brings sets up the atmosphere immediately.
The platform is inspired by the world of martial arts, as it offers “katas” with difficulty ranging from “kyu8” (easy) to “kyu1” (master) to practice your code skills. Covering 45 languages, it is not exactly a tool to learn from scratch, but excellent for practice and social interaction, as you can reach millions of users via the forum or collaborate on “kumite”. Once a challenge is passed, it also reveals everyone’s answers; you can compare and learn a lot about clean coding or the 1001 possible ways to solve each problem.
The whole experience is gamified: as you score points for completing katas, building kumite and increase your level (also expressed in “kyu”).
My advice: use it to validate your knowledge, train your brain, and have fun! You will get stuck by moments, so use Google, StackOverflow and Quora to seek for answers. Using a code editor besides the CodeWars interface is very recommended, especially when challenges get more complex: debugging and testing your code step-by step is way easier this way, for example using the console. Problems can seem complex, but they become simple if you break them down in smaller and simpler pieces, and this advice is valid for pretty much everything related to programming.
To wrap up
The tools mentioned above helped me a lot at the start of my learning curve, and constitute my personal top three, but here is a more exhaustive list where you can find many more to suit your taste. In the next article I will speak about coding Youtube channels. In the meantime, don’t hesitate to leave me some feedback, and stay tuned!