The wrong question: “I want to learn to code, what should I do?”
1–10 of 48 posts
Re: The wrong question: “I want to learn to code, what should I do?”
#2Re: The wrong question: “I want to learn to code, what should I do?”
#3Suppose 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?”
#4The 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?”
#5No. 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…
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?”
#6The 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]…
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?”
#7Get 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?”
#8Agree 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…
Re: The wrong question: “I want to learn to code, what should I do?”
#9If 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?”
#10Also 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.