Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Great post Derek! What would be your best advice for someone with no technical skills (except html/css) who is going to start to learn how to code?

Since our interview in Singapore I've decided to devote myself 100% to learning to code (Rails to start with) during the second half of the year (I applied the 80/20 principal to my documentary re-interviews and travel).

When someone asks: "I really want to learn how to code, what should I do?" the answer is always the same: It's possible + you've just got to devote the time toward learning. If you are passionate about it you will stick with it. The answer has always been pretty clear for me: you just sit down and start learning how to code.

Basically, learning technical skills for me are kind of an inevitability rather than something I'm thinking about. I'm just looking for advice in regards to learning and efficiency. I really like your ideas + philosophy about self-learning, and remember you talking about learning methods in a Mixergy interview, e.g. spaced repetition software for language learning. Any similar advice about coding?

Basically, is there a way to increase the speed limit when learning to code?

Would you also recommend working on a web application while learning to code (since you started CD Baby in a similar way)?

Thanks in advance for the reply :)



The best approaches I've found are:

http://www.codeschool.com/

and

http://eloquentjavascript.net/

But I do think it's crucial to have some little project that's actually live and launched, that people are using, that you can add things to and constantly improve.

It helps you get immediate feedback, and remember why you're doing what you're doing: to make other people's lives better!

You don't want to just be learning in a vaccuum for months or years, not being of benefit to anyone except some maybe-future-self years from now.

Even if you start with some plain HTML site, and add nothing but a dumb "The time is now " + Time.now() -- then at least you've started, and you can improve from there.

As you go through Code School, or Eloquent JavaScript, or whatever other ways you learn, try to find a way to apply what you've learned to your site.

And lastly: learning by NECESSITY is the most effective way. If you HAVE to figure out how to make your site do some kind of function because you have people complaining to you that it's not, then you'll go figure out how to do it, and remember it with an intensity that you just don't get from, "OK, now it's time for Chapter 7."


> If you HAVE to figure out how to make your site do some kind of function because you have people complaining to you that it's not, then you'll go figure out how to do it [...]

That's very similar to advice from Patio11 that I just read over on Askolo¹:

> Rate of learning increases by an absolutely stupid amount by launching a product and having users [...]

1. http://askolo.com/patio11


There are so many resources out there for people who want to code. Start doing a project, search for specific problems, you should be able to build something so quickly




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: