Extremely discouraging experience

I think there are limits to this type of automated teaching system. It’s one thing to check if you changed the color of the third li element, it’s another to check to see if you set up a functional web page. I think there will always be a large gap between what is taught in the lessons and what it takes to actually build a page.

I might suggest a video before the first challenge that goes through what codepen is and builds a very simple page with some text and an image and a little css and js, just to get people started. That was the biggest problem for me - having been a programmer before I understood algorithms and data structures, but I didn’t really understand what codepen was doing.

We have sooooo many people coming on here that don’t know they have to link in JQuery or don’t know how to use the browser console (or apparently even know it exists.)


It’s just a way to get you on track without needing any money… though exercises should be improved more…

They are being improved. Massive upgrade in the works. You can even try the challenges in this beta version but beware they won’t be saved.

The tribute page example uses something called “jumbotron”. Jumbotron was not mentioned in the training. Jumbotron was not mentioned in the project. This is one example of many to illustrate that my analogy was more than “cute”, it was also dead on accurate.

Using CodePen is another example.

The purpose of giving direction or guidance is to prevent wasting time running around blindly. I don’t have to be spoonfed everything, but I’m also not a mind reader. If they want us to use “jumbotron” then they should ASK us to. If they know of a decent free source of information on CodePen then they should SHARE it.

Here is a quick YouTube video to illustrate the difference between running around blindly and using guidance:

You were resourceful enough to find class="jumbotron" in the code. I just now typed two words in the Google search bar: class jumbotron. All the answers you need are right there in the first three results. Besides, item 2 in the Tribute page instructions says "Fulfill the below user stories. Use whichever libraries you need. Give it your own personal style. It doesn’t mention anywhere to use what was used in the example. If you want, you can put up an image in the middle of a white background, followed by a point form list about your chosen subject. It doesn’t have to be fancy or complicated. If you read instructions 3 and 4 they mention having an image, some text and an external link. Those basic things were taught in the HTML/CSS challenges.

Many campers start out with basic projects and as they learn they go back to them and improve them.

If the Tribute Page is causing you this much annoyance, wait til you get to the other projects. Maybe FCC is not for you, and that’s ok. It’s not for everyone.


The video was interesting - thanks for sharing!
I think the cat app challenges were pretty similar to his second method, no?

You are right. This course has too little guidance. But guess what. Learning programming is NOTHING like learning how to hammer a nail. In programming you can learn extremely fast to do a skill or extremely slowly. It all depends on you. FCC gives you the experience that you’re going to have when you first get a client. That’s exactly how you will feel no matter how much you’ve learned so far. You’re going to feel that you haven’t learned enough. You need to learn how to tackle that feeling before going forward with anything involving programming and trust that you can find the necessary resources, push your imagination and instincts to the limit and complete the tasks at hand! Because if you change your perspective like that you will surely be able to do these things. The read search ask method that FCC suggests to all of the projects and challenges is what you will apply to your whole life as a programmer mo matter how good you will become. Of course it will get easier don’t get me wrong. But you touched upon the one thing FCC does perfect. And that’s teaching you how to teach yourself.


I consider myself a perspicacious reader however there are indeed moments in which I encounter a word or locution not yet in my lexicon.

When this occurs, I find it is generally more useful to reference a dictionary to resolve my lack of knowledge rather than exude frustration at the material presenting said phrase.


Aaaahhhhhh, a ton off my shoulders. Thanks @Quiixotiic


The cat app was indeed similar to his second method. But we weren’t given an assignment like the cat app.

I’ve got a better analogy. It’s like we’ve just learned to make some cookies. So now they throw us into a completely strange kitchen. This new kitchen has all the ingredients you need, but you don’t know where they are. You are given the assignment to make Coq au Vin…after being trained to make cookies.

The reason this is so discouraging is because it is extremely difficult to analogically explain something to people who are hyperlogically stimulated. I used to think that programmers were dumb, but that was untrue. I couldn’t quite put my finger on it. I think it has more to do with being unable to see form instead of the function they are so used to dealing with. That’s what made Steve Jobs so valuable.

In any case, the “form” of free code camp is discouraging. But it is more motivating than other code training forms I’ve tried in the past. My tribute page is almost done. I’ll keep plugging along.


fentablar, my host has asked me to not peek at his words. How do you look up what you are not allowed to read?

reverseEngineering !== plagiarism

1 Like

So the objective is to learn to do the minimum amount?

No, the objective is to learn. Don’t let the perfect be the enemy of the good. Learn to accept “good enough for now and I can come back and do better when I’ve learned more”.

I teach music for a day job. If I stopped a student every time they didn’t play something the best way possible, we’d never make it through a single piece. Sometimes, as a teacher, you have to say: “That’s good enough for his level of development.” Pedantic perfectionism can be very destructive.

Sometimes, as your own teacher, you have to learn to do the same. Rather than struggling for days trying to make it better and better and better, you might learn more by moving onto the next project and learning some new skills. You can always come back to the first projects when you know more.


Every time a thread like this pops up I cannot help but think about the three suggested methods that are written at the beginning of the challenges:


By making this leap from guided exercise to the open world of your own coding they are actively enforcing you to learn three valuable assets that you’ll have on the job as well:

This is absolutely common. Technologies changes and every time and update is made you’ll have to read documentations… a LOT!
You could start for example by reading Bootstrap’s documentation.
Guess what, they have tons of examples to help you start with.

No one expects you to remember everything by hearts. Even when you go to some coding interviews they expect you to asks questions and don’t be afraid to search for solution.
But at a point you have to learn to search for answers yourself.

Sometimes the first two fails. And that’s where asking comes into play.
Guess what, developers asks all the time.
Just open stackoverflow and see how many developers asks for question, and look how many people are willing to help in giving answers.
That’s the beauty of programing, it’s a community.
Just by looking at how many people have responded to this thread you should get the feeling of it ^^


fentablar, LOL. Okay, so I adopt the ethics of a Chinese Rolex factory (I’m just being facetious).

1 Like

for me the objective would be to DO my very best with what I have NOW and keep LEARNING. That will be my today’s mantra. Cheers!


Every time someone tries to defend the FCC teaching method I cannot help but think of the three things shown by science to make learning effective:



Hi earthpet, I totally understand your frustration. I’m on the beta version of FCC after having completed a halfway upto JavaScript algorithms on the original. I originally fell away from FCC because I got stuck on the alogrithms and then when I came back to it after a while i’d gotten enough exeprience and new debugging abilities to start solving most of the algorithms on my own.

But then new sections for the projects were retroactively introduced which was the biggest challenge in my mind. Long story short I deleted my old account and started a new one AND then realised there was the beta version.The beta seems much more organized with evenly paced milestones and certifications.

In the beta version I’ve finished the first two projects in the ‘Responsive Web Design’ section. But like you pointed out after the basics you are suddenly thrust upon these challenges for which you seem ill equipped to complete from the lessons beforehand.

I got flustered, I spent a couple of days hacking together just the second project and when it was finished I felt like mine wasn’t following best practice and I highly doubt it was responsive by any stretch
Here’s the original: https://codepen.io/freeCodeCamp/full/VPaoNP
Here’s mine: https://codepen.io/donyd/full/zwQwaE/

At first I was completely disheartened, I got all the unit tests to pass before I even started to try and match the layout. When it got it looking decently similar I submitted even though I had a gut feeling that mine felt like an almost total cop out.

But after a couple of days after submission though I started feeling differently towards it. I felt I had accomplished something, albeit a sloppy affair, but I had something tangible to work off of. Even if it meant I had a ways to improve and learn a more ‘ideal’ and ‘best practice’ sorta way.

It’s just not on FCC, i’m doing courses on Coursera, EDX, Udemy, have ebooks, tutorials online etcetera. And on some of these even in intro type courses they give you a bit of basics and then off you go building a logic based game or what have you. and I get the same sensation as you.

There is merit in going at it and attempting something, failing and coming back to it again but I’m assuming like you, I want a more clear cut, expedited path. The Mr Miyagi, just wax on and wax off Daniel san, don’t ask just do until you get the basics drilled into you before you even start.

I prefer the somewhat ‘guided’ because I’m in a environment where I need to get upskilled much much sooner rather than later and want to get some proficiency quickly. I despise easy routes or shortcuts but on the same hand I’m one who would like to minimize wasted and incoherent efforts. I’ve signed up a pure JS course in an effort to do that
I’ll let you know how that goes in a few weeks if you are interested.

I guess in all this rambling the message is, attempt things like FCC, round it up with other similar courses which will give you other perspectives. In those attempt you will
a) be able to overcome the issues that have stumped you
b) as you are already doing, be able to see the shortcomings and how it’s not what’s best for you
c) as others have mentioned be able to be the change you want to see happen either by getting to a level of contributing to FCC itself to improve its pedagogical methods/systems OR creating your own.

But yeah apart from that seeking out other courses or systems which will give you the best of both worlds - guided, repeated drilling of the basics or tools that you need to know to solve almost anything and attempting to solve tasks on your own and being able to step away and come back later.

So I completely agree with your stance for me personally I’ve noticed that and at present I’m concentrating my efforts on FCC and handful of others to get the best out of each of them and not necessarily rely on a singular reference. So if you do feel frustrated by anyone of those, not to fret. If your overall momentum is being hampered by one of those that you are pursuing, hopefully the others will still encourage you to move forward as it’ll give you a break and reinvigorate you. Otherwise realise blockages are just temporary, if you put in a substantial effort and leave it on its own, it might just be worked out by the time you return.


I agree to some extent; the tribute page was easy enough; however the next project, the portfolio page (which I"m still working on) is quite a bit more advanced and there were no tutorials referring to the ‘new’ techniques. Of course there are external sources to refer to… but with the ‘rule’ of not looking at the source code of the page, we can’t just ‘reverse engineer’ the page if we don’t know the techniques behind it.

I feel there needs to be intermediary projects between the dedication page and the portfolio page; this would also allow us to put in those (intermediary) projects as filler material for the portfolio page (placeholders).

1 Like