I'll just put this here... Help a newbie on his journey!

Good day everyone, hope your journey is going well and each day expands your mind more than the last. I just wanna thank everybody that has been replying to the thread, you’re helping me and other aspiring developers recognize where they are falling short and realize where they need to go next. Everyone knows you have to crawl before you can walk, run, sprint, then hop. You have to learn the fundamentals of JavaScript before going into advanced stuff like React, Angular or even Node. Otherwise you’ll remain confused and overwhelmed in more advanced areas, especially true if you don’t have a mentor.

I also found a great seven-lesson email course called the JavaScript Roadmap. I suggest all JavaScript beginners subscribe. Zell emails you a different lesson every 2 days and tries as best he can to send replies and point you in directions you might not have considered before and this kind soul is doing all of this at no charge. Today’s lesson was “Learning JavaScript with Rocket Speed”. This isn’t to say I’ll know everything I need to know about JavaScript in 3 weeks but it has helped me narrow down where I think my problems are lying thus far in my journey and I believe it can help others. Pretty much you must assess 3 things:

  1. Where are you with regards to JavaScript? Figure out the exact stage you’re at in you coding journey and he breaks these stages into 4 phases: Baby Phase, Child Phase, Teenage Phase, and Adult Phase.

  2. Where do you want to get to? Make your end goal concrete. Don’t just say “learn enough to get hired”

  3. What’s the shortest path between these two points? You’re charting your way through unknown territory. If you don’t have a mentor it will be a little tougher, but keep track of your growth through the phases.

I found out I am in the child phase ( though many will say not knowing how to build functions that solve certain problems like “returning the number of letters in every string in an array” or “accessing an object named person that determines if they are the rightAgeToVote, and throws an error if they’re not” put me in the :baby:t5: phase). Being in the child phase means you’re comfortable with basic syntax but don’t know how to build things from scratch. My big obstacles currently preventing me from going forward with the rest of my course are:

  1. Getting to the point of taking a given object or array, and accessing them using the correct conditionals, methods, and/or loops to define a function that solves a certain problem.

  2. Understanding the best methods to manipulate strings and object keys and when an object should be mutated.

It’s like all of the syntax I’ve learned are puzzle pieces and I’m trying to assemble them the right way to build the big picture ( which in my case isn’t even an app, it’s just a function!) I know it’s an extremely important fundamental to understand about JavaScript, thats why its so frustrating that it’s not clicking for me

So if you’re in the Baby Phase and just starting out with JavaScript, focus on thoroughly learning the JavaScript syntax so you know what others are talking about when they say things like objects, arrays, functions, etc.

If you’re in the Child Phase like me, focus on learning methods provided to you by the DOM. Learn about selecting elements, traversing the DOM, adding and removing things from the DOM, adding and removing event listeners, changing styles and classes.

Zell specifically suggested to me that I try building simple things like accordions or making a button show a menu when clicked. He noted It’s okay to copy-paste at first, but make sure you write your component from scratch afterward so you understand the underlying mechanics.

So that’s where I am, guess I’ll keep working on these things until I have my :bulb: moment.

2 Likes

I really liking the idea of the 30 day building challenge. When I grasp defining functions I’ll make this my next step. I also like the GitHub idea, it’s like I’m training myself to have muscle memory when writing certain code. You’re absolutely right in that there is no right, best, or correct way the write code. We can only use the best practices that have worked for us and not repeat our mistakes. Many people learn differently, but not so different in that one persons solution can’t work for someone else. If you stumble across anything else don’t hesitate to share!

1 Like

So to be honest TL;DR ( To long ; Didn’t read) but i mean that in the coolest way , I found that I’ve always stuck to small projects at first out of necessity but with long time spans between the need to code i was relearning a lot and still am. So if I were you get on Google Sheets Scripts.google.com and find a way to automate a function or repetitive need for a friend of college if you don’t use sheets much. This helps to grasp the ways in which you can use JS and not simply follow a starter kit you make not fully grasp or aren’t sure its the best use of your time to try. but if you are looking to get in to PWAs I HIghly suggest the Polymer-project.org as it appears to be the way things are going and if they all require the investment of time then might as well learn about the one that will be around and hot when you get a bit more comfortable and confident

I do not know if I am repeating what someone else in the 22 replies that have been posted said. Reading through your post, I was annoyed and also happy. Annoyed because you have been false advertised that JavaScript is Easy or another programming laguage is Easy as if that is the selling point. Its not. You can not make quick cash that way. Some people have the know how to get a diagram after a 2 hour lecture and finish a working prototype as if they have been practicing for a week. I am not like that and I am guessing neither are you. You say you compare yourself to others and are falling short of their glory as developers. Yet you know you should not compare yourself. I dealt with same issue in past, STOP COMPARING YOURSELF to OTHERS AND COMPARE YOURSLEF TO YOUR PREVIOUS STATE OF SELF. You are trying to do McDonalds with coding and it only works for experienced programmers. What do i mean by McDonalds…fast food get fed fast for cheap is the selling line. Never sell cheap your education and while you will might get upset saying you do not, you do as of that post unless you changed. How? You are too hard on yourself, expect too much from yourself in too little time. You want to be excellent, reverse engineer through a problem efficiently and study your way out of cuagmire? Guess what…I am a code coach, that is right. I have tutored people how to program and you are doing a lot of going backwards instead of going forward. Here is how you go backwards and here is how you can go forward efficiently. You see a problem as you said, do hands on, (2 steps forward) that is good, then you do not let knowledge slowly synch in at its own time(1 step back), get frustrated that you are not where you are(step 2 back), compare yourself to others and feel discouraged cause you do not feel you habe much to show(step 3 back), partially seeking gratification and proof you are not a donkey(step 4, You never were a donkey, nobody is a donkey). While many of us need reassurance, here is a way to move fully forward.

Truly use this strategy:
1). Review topics you are having difficulty with one at a time if possible. Do not learn new concepts during this time unless there is a relation to understand the core.

2). Relax and be ok not getting it the first time and hug yourself emotionally. Know you are good and give your beautiful creative mind the room to ferment(the more you do this, the faster you will get over time). Just like you can not run marathon when you wake up and must warm up, tell your desire to go fast to CALM YOURSELF DOWN.

3). Have breakfast and tea or coffee or water or juice and go for a walk. Think about what you learned and look for references around you.

4). Open a notebook and write down your explanation of what you read and make sure to never look at the internet or book you learned from. If you feel in your gut you have it, be honest with yourself, then take your time, even as long as hour or two. I sat in front of a white board for 40 minutes before I wrote my own version of the definition of a pointer and then that had a mistake. I looked at the book and made a comparison and fixed my error on board and rewrote it again with the necessary correction. Now, Celebrate your success, go watch a movie or for a jog.
If it takes longer, its ok, look at multiple internet and book sources and ask people, forums, and be strong enough to be vulnerable and say, I do not Know please School me! Also, go over your understanding and accept not understanding something correctly, we all come from different backgrounds. Blue sky looks different for everybody yet it all has the same element in common, its blue.

5). When you are at this stage, test your knowledge and I dare you to be Ok with making mistakes and Accepting to being unable to write the whole thing but a smaller portion no matter how small, I DARE YOU. I dare you to do a project like I am doing for more than a year.

6). Be patient with yourself and Love yourself and celebrate your successess and learn from your failures.

7). Please FAIL and Please Learn from It!

8). Celebrate small successes and Hug and Love yourself when you fail saying, its Ok.

9). Go to Sleep at a decent hour so you get rest.

10). STOP BEING Mean and RUDE TO AND WITH YOURSELF.

You ready?

2 Likes

Great reply! These are words to be remembered. These points should ALL be taken into consideration by any programming beginner. Reality has already set in for me that this journey will be a lot longer than I expected, but I keep enjoying every little triumph so much that I keep wanting to push forward! The best teacher in programing is persistence and I’m already benefiting from it’s lessons. Thank you for taking the time to respond and share and encouragement that will help others on their way.

1 Like

To help yourself out, for now, forget about JavaScript or (Vanilla Javascript(same thing)) and get good at making a user interface for a website. So do the Skeleton(HTML) and in a separate file css and link them and also create a separate someFileName.js file and link that to your html.

Shortly:

To link a css to html, code segment and quick explanation.

For efficiency put it at the bottom of body instead of at top as it’s advertised in freeCodeCamp. People will tell you it does not matter yet it does. Think like this, if you have small amount of css you can include it inside tags or link a css file.

rel is an attribute, what is an attribute? It’s specification.

rel stands for relationship. What is the relationship of what you link with the href.

You specify with assignment operator =.
And on right side you have “stylesheet”

What Is href? Hyper(Beyound) reference!
Also an attribute where you state where the information is located.

. Means current directory and is with respect to file where you specify it.
… Means go one directory up with respect to file where you specify it.

/ tells you where to go
Directory names or using … between / marks navigates towards your resource which is precisely what href points to.

Then between

src is attribute standing for source!
Notice how html elements have which is proper
Instead of which May look good yet is confusing. Cause linking css does not have but only <link…>

Instead of … stands for the path to file/file.js you will specify.

How do I keep the html and marks cause my explanation Is good yet looks like gibberish after this site did not put many elements which I specifically pointed out?

You can include libraries at the top of your page, but any JS that needs to utilize the DOM or interact with the page, should be included at the bottom.

1 Like

That’s is what I said, and you are right about including things at top, in head say. I was making a point cause I did 200 exercises if not more that freeCodeCamp does not emphasize enough the point you and I are making. Unless it’s later on specified! We are making the point that heavy DOM or css or functional stuff put at the bottom yet light stuff that will empede can be placed at the top!

1 Like

Regarding this:

I know there has to be something out there that will make the idea of how all variables fit together click for me in a way the resources I’ve been using haven’t so far.

that “something” in my experience was learning by building real world projects. If you have something you’re interested in building (for family/friends/etc.) that’s what I would focus on.

4 Likes

You are not alone that’s for sure, there’s so much Minutia when it comes to leaning code,etc… all I’m sure are valuable eventually, but for now focus on 1 or 2 languages of interest, master those and move on… good luck!

Oh, Jeez, a month is nothing. Just persevere. The most important thing is to find good learning resources and learn actively. Don’t just listen. Take notes. Explain the concept in your own words. Then try it out for yourself. Copy the code into a text editor. Play around with it. Make some changes.

To learn to think programmatically, do algorithm challenges. There is no better training. Codewars is a good source. Just start at the lowest level. If it’s too hard, study the fundamentals again.

Good sources:

  • Codeacademy
  • Codeschool (especially the JavaScript path)
  • You Don’t Know JavaScript - just read the first book
2 Likes

Where are you now? Hey! I found this forum post four days ago and I just finished reading everyone’s replies. Thank you for not deleting your posts. It must have felt humbling to admit that you reached a roadblock. I can say I’m currently in that position.

Seeing as how your original post was almost 12 months ago, and how the multiple replies have been a guide - for myself - on how to overcome this JS learning roadblock, I’m interested to know what your progression has been. Not so much as how long it took you to achieve what you’ve achieved since a year ago (although I believe I’d appreciate reading it), but where you went on your way to solving the problem of where to go next on the road to learning JS. What did you do next? What programs/services/etc. did you use next? What do you think were the most helpful?

Again thank you for this forum post.

  • Alex
1 Like

Guess I am overdue for an update haha! Last June I joined a coding bootcamp for their full-stack development track and graduated last week! You can view my capstone project here: https://clubhandbook.netlify.com/ I’m now in career development and working on landing my first web-dev job and already have a lead ready to hire me as a react developer! (Still searching though as location isn’t ideal for me). Sorry I haven’t been keeping everyone up to date, hope this can serve as encouragement to any other young coders out there! Hell, I’m still one myself, under a year of learning and still isn’t easy by any means but it gets better everyday with more reps and practice, definitely worth it! Just stay the course, it gets tough but you have to remember everyday why you started the journey, it’s what will push you ahead and keep you wanting to improve and be better the next day than you were the last. Again sorry for no updates over the months, feel free to contact me with any questions though!

1 Like

I am bookmarking this string of messages so I can read through it carefully. I, like you, am sitting on a similar precipice and wondering where to go from here. I have actually taken my first tech eval and failed because my mentor mislead me into believing the javascript functions that would be tested would be simple ones. So, I didn’t practice the more robust ones as much as I should have, favoring working through as many simple ones as I possibly could. This was an unwise choice directed by misleading advice.

Please let me know. I have a lot of questions. I am trying to add web development to my Graphic Design and business management courses that I am taking in order to give myself more versatility in the international job market.

I’m literally right here word for word …and 3 hours away from my 2nd attempt . I have majority knowledge but it’s like when its time to talk I don’t sound too smart …it’s like I’m having a hard time translating .
Thanks for the forum …reminds me I’m not alone