DEV Community

Cover image for The 7 Myths of Learning to Code

The 7 Myths of Learning to Code

Steph Smith on January 29, 2019

This was originally published on my blog, where I often write about remote work, learning to code, and women in tech. I recently gave a talk about...
Collapse
 
qm3ster profile image
Mihail Malo • Edited

Good: It doesn't matter if you pick Vue or React for your first project. Pick something, anything proven, and stick to it. Execute.
Bad: You can get started with HTML & CSS. You can't. And you don't really need either, to start, just use a component library. Are you some kind of UI designer AND library author, or do you have a business to create? Use your framework and mind your business.
Eldritch Horror: jQuery is helpful. It's 2017 already.

Collapse
 
stephsmithio profile image
Steph Smith

Thanks for the feedback Mihail. I have to disagree with you on a few points, but this is just my experience.

I launched my personal site with only HTML and CSS and it did everything I needed to begin with. Obviously if you're creating full applications, yes you need more.

jQuery is perfectly fine and can do almost everything that other frameworks can. Is it "as good"? Maybe not, but it's great for beginners and can accomplish a lot.

Collapse
 
qm3ster profile image
Mihail Malo • Edited

Maybe I misunderstood and we are talking about different things.
When I said HTML & CSS aren't enough, I assumed the app is a core part of the product. If it's an informational/commerce site for your offline business, you will probably have more of an advantage using something like Squarespace/Shopify/a WordPress theme. The amount you have to learn to make something for scratch for those purposes, as well as the effort of upkeep without a static site generator or CMS is very unlikely to be worth it today.

But about jQuery, I simply cannot agree. Native APIs have eaten it, and learning them (aka the fundamentals aka the platform) will not only be as easy initially, with abundant documentation and examples, but also remain useful regardless of what they use later. So yeah, beginners are precisely the people who should stay well well away of it, lest they forever be confused by the subtle differences such as some jQuery methods being properties in the native APIs.

Thread Thread
 
kristynagel profile image
Kristy Whalen

You're being part of the problem (one of the myths that was covered). Rather than say that jQuery will just create confusion or that it's a waste of time, present some clear, SIMPLE alternatives.

Thread Thread
 
qm3ster profile image
Mihail Malo

For total newcomers:
developer.mozilla.org/en-US/docs/Web
developer.mozilla.org/en-US/docs/L... (guided tour)

For those that already use jQuery and want to get rid of it:
youmightnotneedjquery.com/
vanilla-js.com/

Thread Thread
 
kristynagel profile image
Kristy Whalen

A repository of technologies available to webs goes against the grain of this article, and again echoes one of the myths. If you're going to suggest that jQuery is a waste of time, then offer a specific alternative to jQuery (with reasons), otherwise you are just adding to the clutter.

Thread Thread
 
qm3ster profile image
Mihail Malo

I'm sorry, I don't understand what you're asking of me.

Collapse
 
ghost profile image
Ghost

Give a man a framework and (s)he will eat for a day, teach him HTML, CSS, JS, HTTP, etc. and (s)he will eat forever. Also, frameworks comes with a certain frame of mind, frame of thought. They are great to get things done, not so great to understand. That's why they are faster to deliver, which is great for the deadline, not so much to build knowledge.

Collapse
 
jessekphillips profile image
Jesse Phillips

I think this matches close to the post I made. Learning involves a lot of exploration and even being a skilled programmer you're trying things and lacking knowledge of much that is out their. That lack of knowledge doesn't mean you should avoid it, just take what gets you further.

Collapse
 
stephsmithio profile image
Steph Smith

Yes, exactly! I think it's important especially for new programmers because it's easy to get overwhelmed with everything out there!

Collapse
 
jessekphillips profile image
Jesse Phillips

What is interesting is, even though I have experience and constantly explore new things, there is still things out of reach.

I would love to have experience with machine learning, D needs a better GC and it would be interesting have knowledge to cover that. It is not like I can't, but grabbing time outside work and choosing other programming things I want stop me.

Thread Thread
 
ssimontis profile image
Scott Simontis

That rabbit hole is so familiar! We have so many choices when it comes to technology, and the industry has, for the most part, become so obsessed about specific technologies, that we are never taught to value what we try to condense to the concept of "domain knowledge" is really the most instrumental part of programming. If one don't clearly understand the problem and the solution, it doesn't matter how many languages are used, the problem won't get solved at the end of the day.

Some languages are better than others at expressing a problem or a solution, but it still took someone with deep domain knowledge to notice that utility or specifically create it. Machine learning throws a curveball into the system; we have enough computing power that, given enough monkeys, we probably can end up with the entire works of William Shakespeare. Or it could just take up a lot of processing power.

I'm glad computing has reached a point where non-traditional backgrounds are no longer as heavy as a barrier to entry. I probably would have made more money at the beginning if I finished up my CS degree, but instead I ended up becoming an EMT and going on a detour that totally changed my perspective on life.

Intuition is an interesting concept. I've seen hopeless cases survive because someone decided to order a random test before they threw in the towel and end up discovering it's something we can easily treat, we just aren't used to encountering it that way. And sometimes, no matter how many resources you have or how much knowledge you possess, systems are so interconnected and complex that you can't manage state in a predictable or positive manner.

Collapse
 
chfrom77 profile image
Christian H From

Great stuff!
I would like to add to Myth 5:
Maybe try building something you need for yourself (a portfolio site, a cool little automation script, some kind of calculator). Certainly does wonders for my own motivation.

Collapse
 
stephsmithio profile image
Steph Smith

Great point! I completely agree - building the things that you want in your life is super motivating!

Collapse
 
akashkava profile image
Akash Kava

Myth 1 is real, however one cannot judge without trying, your point is misleading that after spending whole day on Stack overflow people will improve, nope, some can't improve at all. We have more programmers with least programming knowledge compared to ones that existed before Stack overflow !!

Collapse
 
vincajayi profile image
Vincent O Ajayi, PhD in Economics

Your article is great! I love it. Knowledge is power!

Collapse
 
stephsmithio profile image
Steph Smith

Thanks Vincent!

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao • Edited

Really awesome article I love it when you debunk myths about our industry especially the tech stack part.

Collapse
 
stephsmithio profile image
Steph Smith

Thank you!! It's so important to talk about these things!

Collapse
 
lmolivera profile image
Lucas Olivera

Very inspiring post! Loved it!

Collapse
 
stephsmithio profile image
Steph Smith

Thank you!! 🤗

Collapse
 
mmaitoza profile image
Michael Maitoza

Excellent article. It has addressed many of the issues I struggle with. Thanks so much.

Collapse
 
stephsmithio profile image
Steph Smith

Thanks Michael! So glad it resonated.