JavaScript is hard

I’m 32, and I finally got an inclination about what I might want to do when I grow up: “Learn web development,” I told myself. “It will be rewarding and it will pay the bills”

Fast forward to FFC. I felt super comfortable through the HTML and CSS lessons. I could certainly tell that I had plenty of room to improve, but the concepts clicked for me.

Fast forward again to JavaScript. My brain is melting and I feel beat down.

I realized I didn’t have a good enough grasp of what I was doing to finish the first round of 111 JS lessons. I stopped and picked up Jon Duckett’s book, “JavaScript and Jquery”

I sailed through the book with a much better grasp of how JS works, but when I came back to finish what I started on FCC, I suddenly felt lost all over again.

That’s a miserable feeling.

But all of this to say JavaScript is hard, and I look forward to a breakthrough.

11 Likes

Hi there,

I feel you brother. It’s pretty common. It happens to me but trust me when u spend more time on each concept, it will help you out for sure. You will get use to of it once you start practicing the concepts.

Tip: Never try to learn something in one sitting (don’t know if you are doing that or not but never ever do that)

Try practicing same concepts again and again until you feel you have good grasp of the concept. Any technology takes time and its same with JavaScript too.

Just don’t loose hope.

(Try some other learning ways too. Some people learn watching videos, some reading and some learn through in-person tutoring ). Internet has many other resources too and if you feel, you can go to YouTube and search for FreeCodeCamp channel and they have almost all sort of video tutorials.

hope this helps,
Good Luck

2 Likes

I know what you mean. I finished the JS section and even got the certificate…but i learned nothing. Now, in order to learn, I’m following a long with youtube tutorials building JS projects. Also I’m using a book called “A Smarter Way to Learn Javascript” by Mark Meyers.

I think there needs to be lots of changes in the way that FCC teaches JS.

The expression on your face is pretty funny. But it can get worse than that, don’t give up. I have had a lot of days now where coding left me crying and stressed. At those times, you’ll need to step back and do something relaxing or fun, or you’ll find yourself trying to jump of the top of your fridge because your tired brain thought it was a good idea.

5 Likes

I agree about the FCC course. I’m considering starting it over from the beginning, so I’m fresh on the tone of the course. Don’t get me wrong, I’m thankful for FCC’s course, but the JS book I’m reading is so much more thorough. Thanks for the encouragement.

2 Likes

same here,…
Im just trying to read through again and again,
also thing is those tasks, some are using methods never mentioned before,
sometimes I find myself trying to hard and than simple solution is right.
though one mate.
It looks like the writers sometimes miss a point that for example I was new-bee,
good luck.

2 Likes

In which concepts you feel most at lost with JS?

Value primitives?
Lexical scoping?
Js data structures?
Functions?
loops?
Conditionals?
closures?

Because not understanding well the programming fundamentals makes it harder to grasp the nuanced parts of a language, such as Js. I.e. at least for me, delving into React without a decent grasp of DOM manipulation and JS functional programming could have been absolute madness. Or using libraries for async calls such as axios without having a solid idea how Promises actually work (I remember doing quite a mess while coding the script for my Simon Game, a rather painful challenge, yet great async programming teacher).

Also follow the FCC motto: “read-search-ask”.

1 Like

Normal.

I’d suggest spending some time working through these “easy” exercises (some are easy, some aren’t) so you can feel comfortable with the methods and concepts the more challenging tasks depend on.

2 Likes

when you feel something is hard, it’s when you improve

if you do workout, do you expect it to be always easy, or expect it to be hard, so you can get better? or do you stop everytime your muscles hurt a little bit?

in programming, once you find something that you can’t do with what stayed with you till that moment (and it’s perfectly normal), you should use the Read-Search-Ask method, no sidequests doing other courses, but reading, researching, asking (repeat, repeat, repeat), until you can figure out that thing and go forward

if you need a break from a specific challenge you can always go forward to next one from the list of challenges, but get back to it later on

4 Likes

You’re right. It is hard. Learning to program is hard and even once you’re very familiar with a language or six, writing good code is still hard. I often say that programmers are paid to be frustrated. You’ll experience breakthroughs and moments of victory and then later hit a brick wall. (Usually you will spend several days trying to climb over the wall, dig under the wall, dis-assemble the wall, then take a nap and realize the wall has a door in it, but I think my metaphor ran away on me.)

It’s normal to feel frustrated because this shit is hard. It’s normal to read explanations and watch live coding examples and think it all makes sense and then stare at a blank editor because reading and understanding someone’s code is a different skillset than writing code. It’s a long, twisty, uphill journey. Just keep making progress and you’ll be surprised how far you’ve come.

10 Likes

As far as the list you provided, I’m definitely weak on loops. Overall, I seem to understand the individual concepts, but things get murky as those concepts get linked together.

2 Likes

Hi Guys ! i’m feeling pretty lost too i started learning in a reboot camp but the experience didn’t go well after 3 months i was able to solve some problems and do the basic requirements stuff. i’ve tried to do some applications by my own and that’s when it gets harder. if i understood something this last months don’t try to learn everything at the same time just push yourself through some exercices because i think that the more you strugle the more you can learn so don’t give up

3 Likes

Hold tight amigo, I felt the same way for years, now there is still a long way form me to feel that I’ve mastered js or programming in general, however I would say that for me what helped me more was practice BUT not in independent/unrelated exercises but to work on whole projects especially real projects that will be used by someone even just you or your friends, family, employees or co-workers.

work on whole projects especially real projects that will be used by someone

Hope this helps.

3 Likes

amen to that. this is a really response I really relate to

1 Like

I feel that way with React. I learned the basics of javascript a long time ago so I don’t remember how hard that was. But it’s been a struggle wrapping my head around how React works, particularly state management. You just have to keep at it until it sinks in. I bet there are quite a few rock star developers out there that struggled in the beginning.

I’m learning React. For me, this has been fun… even though it feels like handcuffs when you can’t figure out something simple that you could easily do otherwise. I feel the learning materials are also very important–I’m using Andrew Mead’s course and Zac Gordon’s book, and they provide a very clear and logical way forward.


As far as the overall topic, in learning there is a “Goldilocks spot” where the material is neither too easy, nor too hard. Being on either side is suboptimal. The good news is there is so much material for front end dev out there, with some looking you can almost certainly find something that provides the right amount of challenge.

1 Like

I feel ya, brother. Yes, Javascript can be a pain. But in my case, I had also studied PHP about 20 years ago or so, and the syntax is very similar, so the syntax is something that was old hat to me. That said, I still didn’t feel like I learned all that much, so I retook the 110 lessons from the first batch of Javascript exercises. I never could get through that double-loops exercise without help, although I did come close the 2nd time.

Most likely you will be learning programming for the first time, as well as learning the JavaScript language, which by the way is a big (bloated) language with many features and styles. At some point writing JS will feel more natural you just need to keep learning and practicing. Probably in a couple of months you will feel more confident with it.

The JavaScript Algorithms and Data Structures certificate in particular is a challenging one as it’s a big step up from html/css, it took me a while to complete it.

It also helps to see JavaScript in context, here’s a good intro to React https://www.youtube.com/watch?v=DLX62G4lc44&t=14467s

Yo, one thing I’ve learned from all of this stuff is that learning tech is like a house of cards.

You can only understand the next level once you have a solid foundation of the things that come before.

It may be tempting when things are easy to blast through loads of material while getting 75% of it but you’ll realise just how important that other 25% is when you move on to the more advanced topics.

Don’t be afraid to go back and get more comfortable with “simpler” topics. Learn them from another source, explained a different way (this can be helpful).

Good luck!

2 Likes

Yes it is true an its obvious to see something as hard.
The word hard comes when one lacks knowledge about
a particular concept and due to this, the person can either get stuck
or lost. branding this concept as hard is quite obvious for such a reason.
But when one has knowledge as or understand as to how a concept works,
it is the branded as easy because he can do it so well.
so to conclude i will say weather something is difficult or hard depends
on the individual involved, the effort he/she puts in to understand this concept and and how dedicated the person is.
So to my opinion i will say nothing is difficult . It all depends on the amount of dedication one puts in order to achieve this.

I grabbed a copy of the same book. I’ve been reading from the book while doing the exercises, going back and doing it all over again and again until my memory recall starts to take over…and doing so is helping. Just a thought; At first I too was overwhelmed learning JavaScript but the more I’ve kept at it…each time it becomes a little more easier to comprehend. It’s definitely harder than html or css, that I can say with confidence.

Prime example even though I’m fairly positive the platform I played on was nothing more than a ponzi-scheme in disguise…especially when trying to cash out my winnings playing online poker.

When I first started I played one table, printed out a chart to learn the odds/statistics playing NL Holdem. After I understood and could calculate in real time without the chart sitting in front of me I moved on to playing two tables…in a short time I could calculate both simultaneously…so I added a third, and once again was able to still calculate and make good decisions while note taking my opponents. Once reaching four tables while still trying to take notes I couldn’t keep up so I went back down to three tables. Over time I started learning different concepts related to stack sizes, or how to spot a player bullying another player, in turn from that persons behavior over the long run…was able to pick spots where I could take advantage the bullying players behavior to win the hand while not having the best hand potentially.

What I mean to say is learn to gauge where you’re at. While reading ahead isn’t a bad thing, learning and comprehending the concepts first is key.