Stressing Out Over the Learning Curve: Push Through or Pause?

I don’t know if this is the place for this kind of rant/advice-seeking, but here I go…

I find Javascript hard. (Yes, I know there are other posts on this… let me finish.) I have all the beginner books (Head First JS, YDKJS, Beginner JS, etc.) and I’m supplementing FCC w/ Codecademy, Udemy, and various other online tutorials, but I’m struggling with the basics. I want to understand what I’m doing and why it’s the best way to do them, that way if you ask me to write you some code that does a certain thing, even if it’s a seemingly simple, silly thing, I can figure it out myself, instead of having to google everything or copy from a book.

Some background: Aside from hacking around in prewritten php files, I have absolutely no programming experience. I’m not a college student or a computer professional. While I’m not super great with math, I can muddle through. (Languages are more my thing.) I don’t have any grand delusions about working for google or the NSA, but I enjoy trouble-shooting/problem-solving and miss doing what little work I’ve done in the back end in php and MySql. Learning JS, though… it’s taking all the fun out of it. Not because it’s hard. I don’t mind a challenge. There’s this disconnect between writing out the pseudocode and turning it into an actual program, which makes me wonder if I’m starting in the wrong place.

Should I take a step back and learn another language, maybe a simpler one, before coming back to Javascript, or should I push through in hopes that it’ll eventually make sense? Should I go back even further and take a break from programming to beef up my math and learn algorithms, or is that overkill?

I don’t want to give up. I want to figure out the best way forward. I’d love to hear any advice or personal experience you might have.

This is super common. I would say that the best thing you can do is to work on projects, either from fCC or any other source. You may feel like you’re not ready, or like you haven’t studied enough, or like there are gaps in your knowledge you need to fill, but the skill of programming is fundamentally about problem solving rather than typing out commands. Don’t get me wrong, you haven’t studied enough and there are gaps in your knowledge, but you’ve been hitherto learning about the tools. Until you get started on the trade, the tools aren’t going to make much sense. It’s scary, and it’ll be frustrating, but you absolutely can do this, and once you wrap your mind around that je ne sais quoi of programming, you’ll wonder what it was like to have any trouble with it at all.

That said, let’s get a better perspective on this. It makes absolutely no sense for you to dive into more formal and academic concepts like math or algorithmic analysis (I would encourage this, but later). Can you think of anything in particular that makes you anxious about working on projects? For instance, if I asked you to create a button that increments a counter on a web page using only HTML and jQuery, would you be able to do that?

Your post brings up a lot of questions, and I think elaboration from your end could help us help you more. Whether that be in a PM or on this post. For example what do you mean when you say you are sturggling with the basics? I only ask that because the basics encompass a lot. Are you struggling with understanding programming abstractions/higher concepts or just that you don’t know how to do one of the basic javascript challenges? (maybe link to a challenge you are having trouble with?). Regarding “what is the best way” I would ignore that for now, improving and best ways are something you focus on further down the line.

I think JavaScript is perfectly fine for beginners, and it doesn’t sound like learning another language would help with your problem, because it sounds more like you are having issues with abstraction and connections, which youll find in any language.

I hate to push another book on you :confused: but have you read JavaScript & jQuery by Jon Duckett? I’m currently helping someone over at Mozilla Developer Network with creating a basic javascript course and we both thought that was the best book out there for beginners. If it is feasible for you(and you’re in the US), I’d suggest stopping by a Barnes and Noble and reading the first chapter of that book and then quickly looking at the other ones. The reason I suggest that is because it starts off talking about the ABCs of programming and gives a nice, concise overview of how the thinking goes. May help with the disconnect.

P.S. - I stream daily(weekdays) on the FCC twitch channel in the afternoon. If you got a moment stop on by and talk with me and I can try to help you overcome your disconnect. Books and online courses only take you so far, the power of a teacher can work magic(instant, focused, personalized feedback).

Read The Dip: A Little Book That Teaches You When to Quit (and When to Stick) by Seth Godin (you can find it also on torrents if it’s ok with you). It’s a short read (about 80 pages). It looks to me that it is exactly what you need right now.

Also take some days off from programming (and from computer/Internet in general), go to beach or hike, ride a bike etc. When I got frustrated from learning I hop on the bike and go for a ride for couple of hours. You have to give your brain time to process new information and it is also proven that being in nature is good for the brain and immune system.

Hi, I am new to free code camp. I am a grad student and took my first pseudo coding corse fall of 2015. I barely passed. I went to youtube for help. The New Boston has great tutorials - XHMTL/CSS, HTML5, Java Script and more. I did all tutorials of the ones I just listed. Had I not done them, I would have a hard time with free code camp’s java and algorithm exercises. Also, I’m doing a web specialization via Coursera which offers a different perspective on CSS3, HTML5 and Java Script. I really think The New Boston is awesome. He works at a pace for you to work well with him. Net Ninja is also cool. He goes through fast and it is hard for me to take notes with him. However, for reviewing the material for Java Script, I found his tutorials to be awesome. You may just need a different perspective. I’m not sure.

Hi,

I am in a similar boat as you. There are hundreds (if not thousands) of resources to learn javascript (and other languages) and other computer science concepts (like algorithms, etc.) all over the web. Sometimes, the plethora of choices creates its own confusion. It’s easy to jump from one resource to another when the going gets tough.

These are the things I have found that help me in this endeavor/struggle/challenge:

  1. There is only so much my brain can take (especially when learning new concepts) in a given day/hour. I find that if I’m not focused, even an easy concept starts going over my head. So I take a break (e.g. watching a tv series, taking a nap, etc.)
  2. I jump all over the place with the challenges. If I find a particular challenge tough, I try another one and get back to the tougher one (for me) later, so that I continue making small steps of progress.
  3. I let things percolate in my head before I go to sleep. I have noticed that sometimes during sleep, my brain continues to think of solutions to the problems of the day. (This usually happens if I’m thinking about them an hour before going to bed)
  4. You already have a few good resources at hand. I am also reading the “You Don’t Know JS” book series (I’m on the 2nd one - scopes & closures - and I have to keep reading some parts of it over and over until it sinks in)
  5. Even after reading the material, I still have questions. So I try to find a human who can explain it to me better than words on a page (i.e. good youtube videos or some of the free online courses). This doesn’t mean that once I watch the video/tutorial that I understand everything. Sometimes I reread stuff after watching the video and find that it makes more sense to me.
  6. Learning new skills IS HARD. Despite what other people believe, I think JavaScript is like a 2-sided coin. On the one hand it is easy - relaxed syntax, less boilerplate code, lots of helper functions (e.g. array utils, string utils, etc.) - these help a beginner get up and runninig quicker. On the other hand, it is a deceptively difficult language/concept (aka functional programming) with advanced topics like prototype chains, closures, promises, etc. which I’m sure will take me a good bit of time to get through. So, yes - JavaScript is an EASY and HARD language/paradigm to learn.
  7. Sometimes, I am stuck for hours (if not days) with some problems - AND IT IS FRUSTRATING! But then I have this “EUREKA!” moment when the solution comes to me and I am able to solve the challenge. And this brings with it a feeling of EUPHORIA, and keeps me motivated enough to go on to the next challenge. Another way to describe this effect is “like a natural high”. I belive a lot of computer programmers live this cycle of lows and highs and the highs of solving a difficult challenge keep them going.

SO JUST RIDE THE LOW SWINGS UNTIL YOU GET TO THE HIGH SWINGS and everything will be OK - you’ll be building MOMENTUM in no time and before you realize it you will be well on your way to being a Computer Programmer!

Good Luck!

1 Like