Recently I encountered FreeCodeCamp.com and started learning.
You may think why? I am already a senior developer, maybe full-stack too so why is there a need to learn new things like JS?
Let me explain it while introducing this site.
What is FreeCodeCamp?
As the name suggests: it is a code camp where you can learn new stuff. And it is free too obviously.
Until that you can learn additional basics which will come in handy.
And after you finish all courses of a so called challenge you can take on some projects to test your knowledge. If your projects are good and usable you get a certificate. At the end, you have the opportunity to spend around 800 hours (around 5 man-month) of work on non-profit projects to show off your skills and help out.
How can it be free?
Well, they offer free service so they must have supporters (see below) — and to get your certificates at the end you have to spend around 800 hours free work for non-profit organizations.
This latter is not exactly one would think about when learning coding for a full-time job but see it the other way around: you learn things and get projects where you can contribute your knowledge (for free but this is not a bad thing) and you get in the end things to add into your CV. The best entry for a job is to have projects you can show your future employers.
Exercises and learning
The learning process is challenge-based: you get some introductory text on the topic covered and then you get exercises to practice the learned blocks.
Most of the time you have to write code into an on-line editor and after you are finished the tasks are evaluated to see you have done everything right. This is something like you can know from CodeSchool or Codecademy already.
The exercises are easy and the learning blocks are easy to follow. Naturally this is not a 100% learning opportunity: you won’t learn everything by doing these exercises. You need to look at the references of the tools (like HTML, CSS, Bootstrap and so on) to solve some problems in the future.
Yes, I am thinking about contributing to get things rolling for missing lectures. This is mostly because I am interested in data visualization the most — and the lessons there are missing.
I hope I will be a good contributor to the project and give valuable time and results to the community.
I think such initiatives need support because they provide learning opportunities for free. You can support FreeCodeCamp by buying stuff from them. I myself have purchased some goodies from them to keep the site up and running to share the joy of coding with everyone interested.
Currently it is hard to earn all the certificates offered by FreeCodeCamp because a lot of lessons are missing (they should have been released Summer 2016) so you need a way around to finish the courses: you have to refer to the official documentation of the tools / frameworks to finish the projects.
The whole code-camp takes around 2000 hours of work to finish (around a year), the most time-consuming are the projects. Naturally if you are a genius you can do it faster.
I’ll keep an eye on the site and see how the things work out while learning and pushing to earn all the certificates.