Skip to content
Swizec Teller - a geek with a

Is JavaScript really getting too complex?

You sometimes hear people on the internet complain that JavaScript is becoming too complex. They reminisce of the old days when you could write some code, plop it in a <script> tag, and it worked.

Now you need Babel, and Webpack bundling, and transpiling, and a bazillion different versions of JavaScript, and a framework for components, a framework for CSS, and and it's all just one big hairy mess.


baloney giphy

JavaScript is wonderful. ❀️

The JavaScript community is one of the most welcoming beginner friendly communities I've ever met. Everyone is welcome. Everyone is productive. Everyone can get started.

With experience or without, there is a place for you in the JavaScript world.

What I love about the JavaScript community is how hard everyone works to make it even more accessible. There's a wealth of resources to learn from, a bunch of tools making your life easier, abstracting away the complexities. πŸ‘Œ

In the JavaScript world you can find everything from total beginner stuff like "How to write a for loop and why" to complex topics you run into after years of working on real projects.

There's even people streaming their work! I would've killed to learn by watching experts work when I was a kid.

You know how I learned to code?

By opening Turbo Pascal's help files, in a language I barely understood (English), and trying things. It was fun but dear god it was slow.


And I didn't even have the internet. Once a week I could ask my teacher about things and that was it. No Google, no blogs, not even books.

I probably could've had books but have you tried to read a college text book as a 12 year old? It doesn't work very well.

men_in_black_textbooks giphy

That's what learning how to code used to look like. You can poke around and try stuff, ask one or two mentors, or read books way beyond your level.

Now you have blogs and courses and video streamers and experts answering questions and ... it's amazing. I love it 😍

Beginner friendly helps everyone

The best part is that this helps everyone. Even experts.

When you make something more accessible to beginners, when it's quicker to get started, that helps experienced people too.

Consider this πŸ‘‡

Would you rather spend an hour setting up Webpack and Babel and your basic file structure and a development server and hot reloading and all the plugins or ...

... run create-react-app and get started building your app in 30 seconds?

I know what I'd pick πŸ˜‰

That same CRA tool that makes it easier for beginners to start with React, makes it quicker for an expert, too.

Or how about this πŸ‘‡

Would you rather spend your time thinking about memory optimization, clearing array buffers, making sure there's no overflows, thinking about deallocation, and memory paging, and swapping and thrashing and all those things ...

... or trust a garbage collector is Good Enough and focus on solving your business problems?

yeah, exactly

We stand on the shoulders of giants

Computer science and software engineering go back many decades. Every generation solved a new set of challenges and we take those solutions for granted.

We love to think the stuff we learned in our engineering youth represents The Fundamental Fundamentals. We scoff at the new kids on the block. Pha, they don't even know how to efficiently write to a drum-memory. Useless

Wait what, a drum memory?

Read The story of Mel my friend, it is amazing.

But here's the thing, you don't know (me neither) about drum memory because we don't need to.

Someone before us solved that problem.

We also don't think about optimizing registry assignment, aligning memory so it's used efficiently, writing to hard drives without leaving huge holes, or cleaning up our own memory. Tools baked right into our environment handle that for us.

And that's amazing.

Time saved thinking about low level concerns, is time you get to use for problems unique to you and your company.

So please, keep adding complexity, keep adding abstractions, the more you come up with, the less time I have to waste on silly little details :)

killin_it giphy

Enjoy your Monday, ~Swizec

Did you enjoy this article?

Published on June 10th, 2019 in Front End, Technical

Learned something new?
Want to become a high value JavaScript expert?

Here's how it works πŸ‘‡

Leave your email and I'll send you an Interactive Modern JavaScript Cheatsheet πŸ“–right away. After that you'll get thoughtfully written emails every week about React, JavaScript, and your career. Lessons learned over my 20 years in the industry working with companies ranging from tiny startups to Fortune5 behemoths.

Start with an interactive cheatsheet πŸ“–

Then get thoughtful letters πŸ’Œ on mindsets, tactics, and technical skills for your career.

"Man, love your simple writing! Yours is the only email I open from marketers and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. πŸ‘Œ"

~ Ashish Kumar

Join over 10,000 engineers just like you already improving their JS careers with my letters, workshops, courses, and talks. ✌️

Have a burning question that you think I can answer?Β I don't have all of the answers, but I have some! Hit me up on twitter or book a 30min ama for in-depth help.

Ready to Stop copy pasting D3 examples and create data visualizations of your own? Β Learn how to build scalable dataviz components your whole team can understand with React for Data Visualization

Curious about Serverless and the modern backend? Check out Serverless Handbook, modern backend for the frontend engineer.

Ready to learn how it all fits together and build a modern webapp from scratch? Learn how to launch a webapp and make your first πŸ’° on the side with ServerlessReact.Dev

Want to brush up on your modern JavaScript syntax?Β Check out my interactive cheatsheet:

By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❀️