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 abo... [Read Full]
markdown guide
 

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.

 

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.

 

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.

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.

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.

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

 

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.

 

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

 

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.

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.

 

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.

 

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

 
 

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 !!

 

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

 
 

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

 

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

 
code of conduct - report abuse