Feeling like an idiot while learning

If you knew it, you'd not be learning!

Tip from an old-timer, we don't remember the smallest daily things, we don't need to. We learn instead how to find/double-check that stuff efficiently.

The more you learn, the better your search terms are going to be. If you get into the agency roles (where most web dev jobs are), you'll be working on different stuff daily. You won't remember how to do everything. What you will remember is what you've seen is possible, and what libraries/constructs/paradigms exist to solve problems. You might not be able to implement them all off the top of your dome, nor should you be aiming for that. Knowing how to find and reference those things is the goal.

Take a gander at JavaScript and the burnout associated with that. There's a new library every day, new versions every week, and that's okay. Because you've overcome the "ERMAHGAWD GOTTA LEARN IT ALL" nope, you can become familiar with a library, get a feel for it's direction, but you'll be referring to the documentation each time you come to use it.

To not refer to the documentation from time-to-time is to suggest you know better how to use a library/construct better than the creators. That's asinine and not a goal you need to be aiming for.

Don't attempt to learn all the things, just learn to appreciate how you best learn, learn the appropriate keywords for each construct.

You won't need to reinvent the wheel as constantly as I glibly make out here. But you will want to pivot from point-to-point before getting a feel for the Web Dev ecosystem as a whole. Find out if you're more into Backend Development, Frontend, DBA, etc. Any Web Dev worth their salt will be capable of all of these, that doesn't mean you have to pursue full-stack development, but a good developer should be aware of all of these facets. You'll help your team mates of the other disciplines so much more if you have at least a cursory understanding of their role!

HTML changes really slowly, CSS same, JS same, C#, Python, Ruby, Perl, Java, same. Once you get a feel for code implemented in any of these languages, the "learning" new libraries/patterns/implementations will be a breeze. It's those fundamentals that are required. The best way to grab those fundamentals is by playing around with various implementations.

Use Bootstrap, then get freaky with Foundation, some SemanticUI, etc. You'll quickly grasp where they're similar, those are the fundamentals.

Backend development, grab a few languages and implement "Hello, World!", now you know how Strings are handled. Implement some basic data-structures, pass them around, have it spit out some HTML. Now you're happy with methods/functions, I/O, etc. Learning a new Backend language is simple once you learn to look through the shock & awe of the latest language du jour and see those familiar concepts implemented in a slightly new way.

There's absolutely no shame in embarking upon a project and having to read the documentation, having to take a gander at tutorials, etc. Over time you'll become quicker at implementing these things, you'll become more adept at reading documentation and getting a feel for where you'll find the information you need.

/r/webdev Thread