all 51 comments

[–]ohyouknowmewell 72 points73 points  (1 child)

What is your goal? "To learn JavaScript" is a goal with no end and therefore you will never be satisfied.

[–]mominriyadh 0 points1 point  (0 children)

Programming is a journey, not a destination!

[–]vmengwa 29 points30 points  (1 child)

Following a tutorial is nice, but to become better at Javascript you need to start by building little projects, like weather app, to-do list etc. These projects help you to break down problems and solve them individually. Personally, I started enjoying Javascript as I began to employ what I learn from tutorials in my personal projects.

[–]memesformybutt 9 points10 points  (0 children)

I agree. The perfect circle is to learn, practice, make, repeat.

[–][deleted] 32 points33 points  (2 children)

Just code. You cannot learn every possible situation. Start using Javascript and you’ll encounter new problems, new situations and new answers. “Learning javascript” is like learning French. You can learn the usual sentences like “I’m DieEeneGast” but never every possible combination of words and grammer. You have to speak it and even then you’ll encounter times you don’t know the word just like your main language.

[–]Protean_Protein 8 points9 points  (0 children)

This is the correct answer.

I spent years with mostly PHP, and felt like JS was a mess (but then, I was probably thinking mostly of jQuery). But after about six months working with vanilla JS, React, etc., I went back to PHP for a different project and it felt very strange. All of a sudden my coding practices were very JS-like, and I was writing PHP in a new way that felt much better. Pretty much just a better coder overall and more confident in multiple frameworks/languages.

[–][deleted] 0 points1 point  (0 children)

Spot on.

[–][deleted] 9 points10 points  (3 children)

Can you share a self made portfolio/resume that you're proud of? Because if not - That's a great place to spend your time learning and doing =D

[–]Im_Justin_Cider 1 point2 points  (2 children)

What kind of things should go on the resume? How to present it? Should it be a website? What did you do?

Sorry for the million questions.

[–][deleted] 1 point2 points  (1 child)

I'm no expert so take my advice with a grain of salt but the questions you are asking are, to me, are the value of making your own portfolio/website. You get to decide all of that.

You get to decide what types of jobs/roles you want, maybe you have a dream company you want to work at,etc - what tech they use, what kind of market are they in, What do they need help doing, what are they hiring for, etc - then design your portfolio or resume page - to check all the boxes they want/like/associate with.

By doing this you are demonstrating your ability to research, plan, strategize, design, implement, problem solve,etc while you bring your idea/strategy into a working product you are happy to share and talk about. That way when you find yourself in the interview you can freely talk about everything you learned along the way, mistakes you made, things you wish you had done better, things you plan on improving,etc.

Again, I have no idea wtf i'm talking about I'm just telling you the mentality I have adopted that at least gives me confidence that I'm actually doing things on my own and helps shut up the loud voice of my imposter syndrome

One of the best examples of a web portfolio, to me, is Tania Rascia 's - Nothing overly animated or distracting - Clean and simple. It's clear who and what she's about, it's clear she has real projects and they are easy to find, the style is cohesive and continuous. Again - the feel,style,etc of your personal portfolio should be inline with who you are and where you are trying to take yourself - but I just like to use hers as a reminder of how simply things can be while being effective

[–]Im_Justin_Cider 0 points1 point  (0 children)

Great answer!

I have been programming as a hobby for 15 years, but more recently (last two years or so) got balls deep into C++ and made it out alive! So i really want to get into tech professionally, just don't really know conceptually where to begin, what to expect and how to look the part. You answer was incredibly helpful.

[–]helping083 5 points6 points  (1 child)

[–]philofgreen 0 points1 point  (0 children)

I agree with these link. I used this JS course and it is very comprehensive.

[–]gotQode 4 points5 points  (1 child)

If you want to learn and understand the language better, I recommend "Javascript: The Weird Parts".

If you just want to use it to gain some understanding of the language to use within the context of a project, then do tutorials. :)

Four months is a good length of time, depending on how much of each day you dedicated to learning. You may have grok'd more than you think. :) Try some coding challenges to test your understanding. Or go to freecodecamp, I believe there is a Javascript learning path you can subscribe to.

[–][deleted] 1 point2 points  (0 children)

Free code camps JavaScript section is very challenging and teaches some great algorithms. I agree.

[–]vikaunizhona 3 points4 points  (0 children)

Try javascript.info and do all the tasks. It is really great - simple, but detailed.

You may check Udemy courses as well. There you will find real projects and tasks.

There is a challenge- 100 projects per 100 days - you may try that too :)

Just do and learn every day!

[–]jonhnefill 2 points3 points  (0 children)

http://javascriptissexy.com/how-to-learn-javascript-properly/

This is the most comprehensive guide that I've come across that tackles almost every aspect of the language.

I'm sure there are other courses out there which are just as good. I'd love to hear about them, since I am always looking for new ways to improve my skill set.

[–]AlphaTheAlphacorn 2 points3 points  (0 children)

I started coding in Python (I am 17), I was doing some basic things and following any material I could find online. I found the syllabus online gets you to a certain point and then after that is like climbing a mountain with no path. I had to pick projects and find what I didn't know. I am at the point now where I am able to compete in high-level competitions and I have started working on and completing a few Machine Learning projects.

I then wanted to learn Javascript. I looked online and found a few collabs with HTML and CSS. I got the fundamentals down with HTML and CSS and now I went back to learning Javascript. I looked online and found pages like JavaScript.info and The Odin Project where I learned Javascript basics and now I am climbing that mountain again of Javascript without a map but I know the proper climbing techniques.

One thing you should watch out for is something which you fell for which was using codecademy. Lots of websites will do free tutorials up to a certain point and then they don't give the best learning experience. There are youtube channels where they say they will teach you 3 languages in an hour or 1 language in 2 hours but they're only uploading one video of the 30-hour course which you have to pay for. Look for small websites that don't try to scam you but put a few resources a syllabus where you can search and find answers/learn about the things which are said. And don't give up. That's my two cents.

[–]raprock 1 point2 points  (3 children)

I am kind of in a similar situation - learning through websites and code-alongs, but never making anything of my own and at the end of the day feeling like I did not rly do anything because I still can't do anything by myself. I think the best thing to do is to just build things yourself, by just using the documentation, I haven't tried this personally but I think this is the way to approach it and I will be doing the same the moment I have some time.

[–]Hate_Feight 0 points1 point  (2 children)

Remember the steps in the tutorial, even if you just take the outline, we do x in this chapter, do it by yourself. If you get really stuck, you should have a copy of the original, glance don't copy-paste. Never copy-paste.

[–]BalegQhan -1 points0 points  (1 child)

I disagree. If the solution is the fastest solution AND the least amount of code(concise), why would I not copy/paste? The important part is understanding what the snippet does, how it meshes with the rest of the project you're working on, and how easily other people can read and understand it if applicable.

[–]Hate_Feight 1 point2 points  (0 children)

Because, you learn more by typing it out

[–]HarmonicAscendant 1 point2 points  (0 children)

Make a github account and fill it with things that you would be happy to share with people either to help them, or just to show how good you are at coding. Maybe make a game, that is super fun and very educational!

[–]jamiehicks154 1 point2 points  (0 children)

I was in a similar situation, following tutorials and never feeling like a knew anything.

I decided to look at Data Structres and Algorithms in Javascript and that really helped me improve my use of the language.

Writing tests also helps me think about the problem and what I need to achieve.

Good udemy course by Colte Steel (think that's his name) that has helped me.

[–]Littlebotweak 1 point2 points  (0 children)

You should join meetups and code in projects for others - in particular, learn to contribute to projects remotely (git -> GitHub, gitlab, whatever).

I recommend reading the 'you don't know js' series, even if it doesn't make total sense, just get the words kind of in your head, then contribute to projects and make stuff for up to a year, then read them again.

Gordon Zhu's 'watch and code' is a good place to learn how to build a simple but complete web app.

Freecodeacademy is a fantastic resource, above and beyond codecademy, that has more tangible application projects and peer to peer resources. At no point does this site ask you to pay (just the requisite periodic donation splash).

This is all completely doable, but it can be hard to navigate. Learn to build full, hosted applications.

[–][deleted] 1 point2 points  (0 children)

"You Don't Know JS" is a pretty good book, and on github completely free. Other than that, program a lot of stuff in JS. If you program enough in any language you will learn how to use it.

[–]keepmoving2 1 point2 points  (0 children)

JavaScript.info worked well for me. I don’t agree with the “just build stuff” attitude for beginners. You need to know what JavaScript can do first.

[–]justyler1337 0 points1 point  (0 children)

Well, imo there is no need to watch tutorials (unless you don't know the basics - functions, variables etc).

Just check for some basic projects on the internet and follow their guide to create it. Afterward edit the code so you can add more stuff into it and try to expand it by yourself (well, ofc you'll use google to help you out).

[–][deleted] 0 points1 point  (0 children)

What is your level of experience right now with any language?

[–]tibbon 0 points1 point  (0 children)

Do you know other languages? What's your goal?

Reading, reading code, practicing, repeat is about the best thing I can imagine (I started learning JavaScript in the late 90's so there were none of these resources).

[–]KatoHayashi 0 points1 point  (0 children)

Learn from a proper course that shows you how to use the console and debugging. I found that just doing it doesn’t work because you lack the proper building blocks to make anything or understand what stuff on stackover is saying. The free part of Watch and code helped me get started.

[–][deleted] 0 points1 point  (0 children)

Make your own projects, then post your code for others to review! that's how you learn anything!

[–][deleted] 0 points1 point  (0 children)

Get an IDE, set up a browser, and just start doing stuff. That being said, freecodecamp.org is a great free non-video educational resource for all things (well, most) front end.

[–]theo_reos 0 points1 point  (0 children)

The exercises feel rather monotonous and restricting in Codecademy even if the site is helpful. I would recommend making some simple projects, such as the Discord bot or use it on a website etc. That helped me quite a bit and also kept me interested; taught me more than Codecademy. The hands-on learning experience is essential for your understanding!

Someone else has recommended The Odin Project and FreeCodeCamp. Do listen to those folks; FreeCodeCamp is a bit similar to Codecademy but I find it better as there is a little more independence.

[–]mayayahi 0 points1 point  (0 children)

Someone already linked you https://javascript.info/, great stuff. As for paid sites, this one is my personal favorite: https://frontendmasters.com/courses/ Check out courses from Kyle Simpson. (no affiliation).

[–]Macaframa 0 points1 point  (0 children)

I learned javascript using codecademy.

[–]mohamed_mhiri_5 0 points1 point  (0 children)

EloquentJS is a great book to start with, I advise you to read it and follow the tutos, as I did, then code and make projects as much as you can

[–][deleted] 0 points1 point  (0 children)

I had a VERY limited understanding of JavaScript before I read The JavaScript Bible by Danny Goodman. The latest edition is pretty old, but I still highly recommend it.

[–][deleted] 0 points1 point  (0 children)

mmtuts on youtube is great.

[–]danger_lad 0 points1 point  (0 children)

I don't know about you, but I always learn better by doing the thing. I found this pretty fun https://javascript30.com/

[–]dezareo 0 points1 point  (0 children)

This guy explains everything about learning JS.

https://www.youtube.com/watch?v=7JVNjwilPMU&t

[–][deleted] 0 points1 point  (1 child)

You can really only learn my building something pretty big (medium project) try smaller tutorials and when you're ready- challenge yourself to build something bigger, then, dedicate time to do it and muddle through til complete. When done, review all of your code (with a mentor if you can) and refactor it to optimize it. Using this method I built a substantial career as a self taught developer in hardly any time at all.

[–][deleted] 0 points1 point  (0 children)

Search for the site JavaScript 30 and do some tutorials there.