

Ask YC: How to learn the most programming possible in 9 months? - throwaway121

What advice would you give to someone thinking of spending 9 months learning programming full time.
======
gerakinis
Spend 9 months working on something and learn via the work. Don't spend 9
months simply studying programming information. ( Bonus points if you are
getting paid by someone else while you are learning... but be clear about that
upfront. )

Pick a problem, a tool set and get experienced. You will not gain as much if
you simply read across multiple applications and disciplines.

For a focus on the academics, and not the practical, I would not suggest going
it alone unless you are really that strange type of person that gets math
intuitively.

------
gilaniali
You need to read this essay by Peter Norvig: <http://norvig.com/21-days.html>

Its very easy to learn the syntax of any language, you can probably do 5-10 a
day. But to really learn a language, you must use it. Try to solve problems
and try reinventing the wheel a couple of times.

------
aristus
First off, good luck! I would pick a language like Python or Javascript, and
start reading code. diveintopython is very good.

Once you are familiar with little bits of code, pick something big that you
want to make. My first big program was a metasearch engine (given a search
query, issue queries to several search engines, parse the results, and combine
them into one set).

Once you are happy with it, maybe 5-6 months in, write the _same_ program in
another language, say Ruby or Javascript. This is now called a "kata", I
think. I wrote the same metasearcher in 5 different languages over the course
of about 14 months. Attacking the same problem gives you a good vantage point
from which to compare languages and techniques.

~~~
nickknw
It's probably good to note there are some differing opinions on
diveintopython, (well, mostly zed shaw's opinion).

Here is his rant about it: <http://oppugn.us/posts/1272050135.html>

Here is the hn discussion of his rant:
<http://news.ycombinator.com/item?id=1289186>

------
ayb
Do whatever it takes to program every day. Either build a few apps for
yourself, work on a new app/business you plan to launch, or try to extend open
source projects. The important thing is trying.

Like an writer or a painter, the best way to learn programming is to learn by
doing.

It does help to work with others, so find a friend and work on a project with
them and try to learn as much as possible if you can.

Regardless of how you do it, you will be blown away by how much your skills
improve after 270 days.

------
rdw20101009
May I please suggest that your question fundamentally mistakes the journey.
Programming is applied thinking--it is not about the tools. Maybe you already
know how to think in ways useful to programming, or maybe you don't. Either
way, nine months out of a lifetime is not much.

If you already know how to program, then nine months might be a decent
timeframe for adding a new tool (or two) to your toolbelt. If you do not
already know how to program, then nine months will be just enough to make you
dangerous.

------
LeBlanc
Make sure whatever you work on is something you are passionate about.
Something you think is the coolest thing ever. Doesn't matter if it is useful
or if it is something people will pay for. It could also be something really
ambitious; don't limit yourself by what you think you can do.

If you don't pick a project you really really care about then learning
programming and finishing your project is going to be twice as difficult.

Good luck! Check back in in a couple months to let us know how it went!

------
icey
Start writing code as soon as possible. The earlier you start writing it, the
earlier you'll actually understand what you're doing.

Even typing in examples verbatim from books will force you to start paying at
least a little attention to what the code is doing. If that's too boring, try
re-implementing examples without referring back to how they did it in the
book.

------
malandrew
It would help us immensely if you tell us why 9 months and what you hope to be
able to accomplish after 9 months. That will help us point you in the right
direction.

