Feeling defeated and uncertain

I made it to the Intermediate algorithm challenges with no issues but now I have been getting beaten and battered. I don’t know how to get better at problem solving, at this point i am 3/4 of the way through them and had to get help with 70 percent and only was able to do about 30 percent so far on my own. I love to code, been coding for a bit now, I can build sites, build almost anything, just can not do these challenges, here or the other sites, I struggle so bad with them, it has me so beaten right now. I just want to be good at this, I love doing it, just feel like maybe as much as I like it that I am not good enough to do it?

1 Like

My suggestion is to go back to the beginning and work through the
course again. I think you will find a greater understanding of the
course material on your second time through. Read the material
carefully try to understand exactly what is written and write your
code in a way that conforms to the instructions,don’t just repeat
what you wrote the first time.

1 Like

Hi there. I can say for a fact that 90% of people who went through it had similar thoughts as you. Programming is full of mind boggling tasks and problems. Also one of the best traits you can have as a developer is finding information online or in books how to go about it solving the problem. So as long as you don’t completely give up on it you are doing a fine job.


It got to me because all the way up to the intermediate algorithm scripting i did awesome didn’t need help a single time, but through this section, it has battered me.

Hey, I’ve been in the same position as you when I started doing the beginner algorithm challenges. I feel like it’s a lot about finding out what ways of learning and problem solving work the best for you. FCC spoon feeds you all of the basic information and knowledge so it’s not surprising that many people arrive at new obstacles when the algorithm challenges begin. One thing I can suggest is to switch up your methods of problem solving. For example, I used to always go straight to stackoverflow to find a short way out of the problem. However, now I just use MDN opened onto a list of array or string prototype methods that I can go through and choose to formulate a plan on how to solve the problem.

1 Like

I just started intermediate algorithms, too. This is hard! I agree with @Da_vey. Maybe not redo the entire course, but the stuff about arrays and objects are good to review.

Also, I’ve started to write down in my own words what we are supposed to do, and write a plan how I’m going to do it. It doesn’t always work out that way, but I think it helps me think.

Good luck!


It really is hard right? lol like the level of difficult jumped so much between the beginner and the intermediate algorithms. But yeah writing it down is a great idea. I am going to attempt that myself.

1 Like


I am just starting with Javascript courses so maybe I don’t have much to say in terms of learning about programming itself, but I could say something in terms of experience. I have tried to learn many times over the years but end giving up because of getting stuck.
I never had troubles learning when I studied, I never liked to ask for help to others so, in this case, I just gave up all those times as I didn’t even know how or where to start to learn by myself about this.
If you get stuck, don’t be afraid of asking for help, as long as you try to understand everything they tell you. Even when looking at the solutions, give everything in there a meaning, take your time, look at it from many different perspectives and try to apply it yourself to another example so you know you understand it well enough (go back to them some days later and give it another try too, see if you are able to make better sense of it), that way you are really learning and getting better at problem solving.

Go back to previous parts of the course as many times as you need to, read posts here of people looking for help in the courses you have already passed and help them if you can, by giving advice you are learning and reviewing what you already know from a different perspective.
If you love it, don’t give up. We all need help eventually with something, don’t let that need interfere or make you feel bad about something you love.
Sorry for the long post.

Good luck and keep learning.


Great Advice, it is always the best course of action to accomplish any thing you do in life!

I thought the basic algorithm challenges were hard too!

So far, I’ve only managed to solve the first intermediate algorithm challenge.

I’m going to take a break, do some chores, and then go back and review stuff.

Who says you aren’t good?
Who says your done at getting better?

Both questions have the same answer, yourself.

The Intermediate algorithm challenges aren’t easy, they are hard. They aren’t made to be easy, nor are the designed so you can fly through them without trouble. They are designed so you do struggle.

How you handle that struggle is the real lesson. Its the same lesson that underlies a lot of the challenges, and projects. Its the lesson you have to keep taking and learning. Its the lesson of not feeling up to par. You can have this feeling on day 1, day 100 and day 1 thousand.

The “answer” is simple, keep going, keep learning, keep building, keep struggling, but don’t take it too seriously. The feeling your getting is normal. Its the root of burnout, imposture syndrome, and a bunch of other “negative” feelings. There’s more to life than programming, however if you want and love to program, then accept that there will be times when you feel totally lost! There will always be new things to learn, new challenges to tackle and new bugs to fix. That is programming, that is building stuff.

If your fine with that idea, and accept that idea, then your well on your way out of the feeling of “defeat”. The only way you actually lose is you give up. Otherwise give it time, keep learning, keep struggling.

I recommend going back a few challenges for review. If you just barely got thru previous challenges, and maybe even got lucky with your solution, its time to dig into them. Maybe do them “better”, main thing is to keep at it and realize the feeling you have is normal, but you can’t let it define you, or prevent you from doing what you love.

Good luck, keep building, keep learning, keep struggling, and keep overcoming!


I think that coding is related to gradual understading and evolution. Its an process that take time and any type of effort is welcome. Maybe now you’re struggling to code at the challenges but later when you finish the course and look again to the problems, you’re going to see that you’re be better prepared to understand and complete them.

Know the tools: reduce(), filter(), map(), splice(), slice(), indexOf(), toString(), join(), concat(), the spread operator, for loops, and all the rest. Then write down your algorithm for solving the challenge. If you spend a lot of time on the challenge you can spend more, and given enough time and the Internet you will solve it. However, if you are pressed for time but have made a solid attempt, you can get a hint and look at the solution. Often you might notice that your code is very similar to the freecodecamp solution, so you know you are on the right track. Then study the freecode camp solution very closely and pretty much memorize it. In the future, you will come across similar problems, however, you will remember the solution. Yet, I would strongly advise against looking at the freecodecamp solution until you have struggled through the challenge on your own with the help of the Internet and succeeded, because the struggle is the best way to learn. Keep up the good work!

It is really hard, make no mistake. But I’ve been told and I daily find it to be true that if in your heart you truly love this and you persevere, you’ll get through it eventually and the sense of accomplishment will outweigh the frustration you went through in the many stages of learning.

I struggled too. Maybe you need to rest a bit, that sometimes helps.

I wish you the best. Happy coding!