I’ll start with some background knowledge. I’ve been learning to code for around 2 months now. I have no prior coding experience, other than some failed attempts at learning HMTL & CSS on CodeCademy.
When I committed to learning to code, with the goal of becoming a front-end web developer, I didn’t know where to start. After reading the Headfirst book on HTML & CSS, playing around on CodeCademy, and mostly YouTube, I had learned and applied basic HTML & CSS.
Next was JavaScript. Through Twitter and YouTube, I had heard so much about freeCodeCamp, so I gave it a try.
I was excited, dove into the podcasts, forum, and began hearing success stories of people like me learning to code via their platform and then landing big developer jobs. I was sold.
The Beginning
When I started, I was eager, I flew through the first couple of lessons of the JavaScript curriculum. I was hooked. I would spend 2–3 hours a day learning as much as I could about the basics (if you are thinking that's not that much, I’m busy). I built my learning plan around FCC, I told myself that I wouldn’t start any other resource until I finished it, my first mistake.
I continued, watching videos with different explanations, reading the documentation, and more. I was learning so much, basic stuff like what var and function() was. I thought it was so cool.
But as I continued to plug and chug through the first few lesson blocks, I was getting frustrated.
My Roadblock
The first issue I came across, was the lack of video assistance. During the JS basics curriculum, if you got stuck you could easily pop into the hint section and watch a very well-done code tutorial. This was one of my favorite parts and one of the biggest contributors to my learning.
After you completed the basics section, this feature goes away. They still offered the code solution with a brief text explanation, but it wasn’t the same.
I started to get annoyed, I felt like I wasn’t understanding what I was doing without that video help and reassurance.
I wanted to learn how to make cool websites or web apps! Not learn how to sort through an array. I knew I needed to know how to do that for parts of this idealistic website I had in my head, but I was tired of not seeing any progress.
I was tired of not being able to complete a challenge and think “Oh so I could do that to make this type of site”, or “Oh so that’s how you animate things”.
What went from hours spent on freeCodeCamp, went to hours on YouTube watching people actually build things with JavaScript.
I was getting too ahead of myself, not staying patient. But I couldn’t help but think, “I’m gonna finish this course and not know how to make a single thing related to a webpage with JavaScript”. So I stopped.
The Problem
I am a visual person. I want to create a smooth UI or UX. While I know you need to take baby steps, once I learned the basics of how the language worked, I wanted to learn how to make my regular HTML & CSS websites look a little bit better.
Throughout the entire curriculum, that supposedly takes 300 hours, there was not one lesson that let you visualize what you were doing.
All you would get was the checkmark that it was right. You had to console.log() the solution yourself to even see if it worked.
I got frustrated. I was too much a visual learner for 50+ hours of typing text and not seeing anything besides some check marks to show for it.
Boiled down, the problem I had with freeCodeCamp was that there was no visual applications in the JavaScript curriculum.
This is a language that can do just about anything, is present on almost every webpage, but yet instead of seeing how any of that magic works, the curriculum focuses on the non-visual side.
While their curriculum could be based on research on how to learn best or something of the like, beyond the basics section, it just didn’t work for me.
freeCodeCamp is not bad
By no means do I think FCC is bad, or a waste of time. Learning the basics of JavaScript was effortless and efficient. Personally, I just wanted it to be a little more visual.
Maybe this was just their JS side, I know the HTML / CSS curriculum lets you see the websites as you create it, so I wonder why you couldn’t see something similar for JS.
Overall, freeCodeCamp is the best free resource for learning to code in a structured way. I personally, got ahead of myself and began getting frustrated with the lack of visuals.
The material you learn in the JavaScript curriculum is valuable, relevant, and taught in a comprehensible way, just lacking in visuals.
Regardless, I would recommend the site or curriculum to anyone — just don’t limit yourself to FCC as your only learning resource.
Top comments (8)
Some of your same frustrations are echoed by "traditional" computer science students. Part of the issue is that you've found the typical canyon of difference between classroom experience and real-world programming.
The fundamentals are helpful...but once you have them, go off road. Build something real. That's the only way you'll actually turn that theory knowledge into practical coding skill.
As I read this, I realized that I actually like the text based "sort an array" or "solve a challenge" approach to code. I'm comfortable in that theoretical, academic space. But at the end of the day, if I want to do something useful, I'll have to move beyond just solving interesting toy puzzles. One of the commenters said "build something real" I think that's really good advice.
You illustrate a very common problem with many code learning platforms. Way back in the day,before YouTube etc, when I was ploughing through the JavaScript learning mire, there was even less support. Thus one would think we have moved on from mere theory, but alas you do raise a valid concern. I like you am a visual learn by doing person, and I share your frustrations with these often bloated and self promoting learning platforms.
I agree. I did just the same as you 'I'm going to finish this course' I said, but when I started the JS challenges, I feel so… unmotivated that I didn't practice at all for some weeks until I bougth an Udemy course. I tough myself and got a job, then I got a job and I understood why all those FCC challenges are important :)
As you mention FCC its very useful to start but it helps a lot if you use other resources.
I would agree. Free code camp isnt so much a learning platform as it is a reinforcement one. It's too hard to learn/retain anything that way without repetition/application. The best thing about it is the opportunity to work with non-profits for experience.
You hit on a real corepoint I have been trying to learn Django + python until I realized one thing it's just like Jeet kune do it's not how many punches you know or kicks its what you can apply. When I visualize the problem I wanted to solve then it was nothing to learn Django or blockchain because I'm empowered by my desire to hack cool things so that this doesn't work unless you can hack cool things then it's all makes sense. Hacking cool things with it be a game or solution makes coding real easy because its like I want to do this and I'll do what I have to do to learn what I have to learn to get it done.
I agree on this 👍. Coz most of the begineers literally need assistance and since freecodecamp is open source contributions enabled platform. If someone can create these assistive videos to solve a particular problem. That could save a lot of precious time and enhance the learning experience altogether making it friendly and supportive. I suggest to encourage and add the video links too for them.