There's So Much to Learn!
If you've dipped your toes into the programming world, you've probably been inundated with technologies, languages and frameworks. HTML5! CSS3! Angular! Wait, forget Angular! Learn React! You can't learn React without Redux! Learn Redux!
If you're just getting started with your learning, it can be nearly impossible to filter out this noise and figure out where to get started.
The biggest mistake I see beginners make when they're just starting to learn is focusing too much on the unknown.
You need to learn the basics for two reasons:
- A strong understanding of the basics will make it easier to learn the advanced stuff. Just like a deep foundation into the bedrock of Manhattan supports the towering skyscrapers of mid-town.
- The techniques and frameworks that "real devs" use on the job change all the time! We might have scoffed at Vanilla JS a few years ago, favoring jQuery instead. But frameworks like React are bringing back our Vanilla JS skills in a big way. It's never a waste of time to learn the basics.
Keep It Simple
Pick a language to learn well. Add in a few of the skills you'll need to build a project from the ground up and build it. When you focus on the basics, you build a strong foundation that you can use to learn any new language or framework.
How to Build Your Foundation
How can you build a strong foundation of fundamental programming skills? If you're looking to become a web developer, staring with the basics. Learn enough HTML and CSS to build a simple static page that doesn't look terrible. Then, move on to a beginner friendly back-end language like Ruby. Once you're comfortable with your Ruby skills, introduce a web framework like Rails. Build some super simple web apps--a blogging site for example.
Why A Strong Foundation Matters
Once you've learned enough of the basics to build a super simple site or web app--guess what, you're a developer! You'll have worked hard to learn difficult new skills and concepts and solve tough problems. You'll have the experience you need to learn more languages and frameworks from there.
There's no such thing as being done learning. A strong command of one language and framework makes you a developer. With that under your belt, you can learn just about anything.