Live data from Hacker News

The wrong question: “I want to learn to code, what should I do?”

495west.com

1–10 of 48 posts

Re: The wrong question: “I want to learn to code, what should I do?”

#3
No. It is exactly the right question.

Suppose the person hasn't already asked this question to google:

Take the opportunity to provide them some good resources. Teach them some basics. Teach them how to use google well to find their own resources. Here's the kicker - when people ask questions like this, maybe they aren't autodidacts, maybe they just need some support getting over the fear of the unknown, maybe they just want feedback from someone who actually knows (something JFGI doesn't provide too well...)

Now suppose they have:

The course of action is surprisingly similar, but ask them what they've already learned and what the confusion is before showing them stuff. Perhaps the person asking has done this but doesn't know where to start -- there is a lot of conflicting and bad advice on the web. Perhaps they don't have the framework to filter things that are and aren't related. Maybe they don't even know what they actually want to do -- there have been plenty of times I've asked someone how to $X only to discover that I really wanted to do $Y that I didn't even know about (even though Google will happily provide 100000 how to $X guides).

Half of understanding anything is understanding the vocabulary surrounding it. If a person doesn't know the vocabulary, they can't just google it. (Also, those of us who spend all day programming and basically live in front of the computer at places like HN have a surprisingly deep understanding of who to trust and who not to trust and apply these filters without even realizing it when scouring google results, as well as a good social network of chatrooms and twitter etc to ask for pointers at, which a noob may well be trying to establish when asking the question).

Re: The wrong question: “I want to learn to code, what should I do?”

#4
The only difference between the advice given and the strawman argued against is giving the urls of search engines to find tutorials and answer questions rather than giving specific resources.

The idea of cultivating a self starter, motivated to research mindset is good, for people halfway through the beginner stage. The idea that a complete beginner even knows how to "bounce around between [different search results] to find the best ones" is silly, even starting with generally high quality content like quora and stack overflow. It leads people to learn the easiest things rather than walking the line between motivation through fast results and pushing themselves to learn good techniques and challenging subjects. There is a reason that good educators, who design curricula walking this line, are respected.

This type of "ignore the so called 'experts' and absorb the lowest common denominator crap soup of online programming advice" learning plan is doomed. The best case is that it wastes the persons time and saps their motivation. The probable case is that they end up learning a large number of bad habits, do things like reimplement a bubble sort based on advice from the comments on the php documentation site and forever end up as hack intermediate coders.

People asking for this kind of advice want some guidelines from people who've done this before and have perspective on good paths to learning and how to avoid mistakes that no one needs to repeat.

I am a proponent of branching out early in your programming career to learn different languages, toolsets and problem domains because it makes you a better programmer. But only once you've got a base level of knowledge as to how coding works and even then they will need advice on what other paths to take to help the most.

Re: The wrong question: “I want to learn to code, what should I do?”

#5

No. It is exactly the right question. Suppose the person hasn't already asked this question to google: Take the opportunity to provide them some good resources. Teach them some basics. Teach them how to use google well to find their own resources. Here's the kicker - when people ask questions like this, maybe they aren't autodidacts, maybe they just need some support getting over the fear of the unknown, maybe they j…

That is the point of this post, to get them over the fear, to give them the confidence to do it.

Having a personal tutor can accelerate the learning process dramatically. Even if you can teach yourself, you can learn faster if someone just tells you the answer. But, you can also just do it. And, the process will teach you the benefits of being precise with your searches and that if you know to use the work "toggle" rather than "switch back and forth", you'll get to the answer faster next time (though, you'll get to it both ways and you'll learn a lot while you're reading).

I was fortunate enough to have great engineers accelerate my learning but I also did a lot on my own and that process gave me a deeper understanding and taught me the right mindset to now continue improving on my own forever.

Re: The wrong question: “I want to learn to code, what should I do?”

#6

The only difference between the advice given and the strawman argued against is giving the urls of search engines to find tutorials and answer questions rather than giving specific resources. The idea of cultivating a self starter, motivated to research mindset is good, for people halfway through the beginner stage. The idea that a complete beginner even knows how to "bounce around between [different search results]…

That process of drinking the soup and learning what to swallow and what to spit out is an incredible learning experience. That is a skill and comes from trial and error, reading everything, and trying things. And you are training yourself in that process and mindset of learning on your own.

Agree though that learning best practices is difficult without some guidance and working with others.

Re: The wrong question: “I want to learn to code, what should I do?”

#7
Agree with most of it except its not that thats the wrong question its just that the answer is to try.

Get started and build something. Stumbling and not knowing already but figuring it out are part of the process and are valuable skills.

Also the whole buy a mac thing. It never ceases to amaze me how many people completely fail to realize how much privilege it takes to have the money to purchase a mac. Or the time it can take to save the money. When someone can get started on things that are a fraction of the cost.

You can get a cheap office depot or walmart laptop and an entire year of linode or whatever vps you like for the cost of a used mac

Re: The wrong question: “I want to learn to code, what should I do?”

#8
post #7

Agree with most of it except its not that thats the wrong question its just that the answer is to try . Get started and build something. Stumbling and not knowing already but figuring it out are part of the process and are valuable skills. Also the whole buy a mac thing. It never ceases to amaze me how many people completely fail to realize how much privilege it takes to have the money to purchase a mac. Or the time…

Fair point on the Mac. It's a luxury no one should take for granted.

Re: The wrong question: “I want to learn to code, what should I do?”

#9
I think the assumption here is that if someone asks you, “I want to learn to code, what should I do?” they know you already, since if they were asking the anonymous internet hordes, they're already basically doing what this post suggests.

If you ask someone you know for advice, you aren't going to get the same thing you get if you ask Google, and you aren't even necessarily looking for the same thing. I was in exactly this situation earlier in the summer, when my brother asked me, after taking MIT's intro to programming class using Python, "What language should I learn next?". When he asked me that, he wasn't looking for the best possible answer from the best engineers who are posting to Stack Overflow, he was asking his brother, who might be able to help him when he stumbles, since I would likely recommend languages I know. I also know that he's not a CS student, he's studying urban planning, so I could reply with that understanding, and say that he might not need to learn another language at all, but instead could branch out with Python to hack on stuff he didn't get to work on in his CS and GIS classes, like web programming or games.

So no, don't just point them at Google. Tell them YOUR story about how you learned to program, and tell them what YOU would do differently. Tell them to learn a language that you know, so you can help them. Or a language you want to learn, so you can learn with them. I know that teaching yourself via Google can be extremely gratifying, and I think it works great for some people, myself included. However it doesn't work for everyone, and sometimes it's nice to have a personal connection like this: "I learned to program when X helped me to do Y."

edit

as I was writing this I was itching to reach for something I'd read before, and I remembered now that it was probably Norvig's "Teach Yourself Programming in Ten Years". There he suggests a way to choose a language: "Use your friends."

Re: The wrong question: “I want to learn to code, what should I do?”

#10
While this advice makes sense in most cases it is just as important to learn where, how, whom and when to ask.

Also as a beginner it is often very difficult to separate good from bad advice, so it can make a lot of sense to ask even simple questions in e.g. an IRC channel even if you could find an answer with Google.

Post reply on HN