Hacker School founder here. Some thoughts on how to get started:
Choose a single language, and focus just on that. Python (which it looks like you've already started with), is a good choice. Spend some time with books, online classes, etc, but spend ~80% of your time actually programming and not just reading. Start with small projects that take you an afternoon and gradually increase in size as you successfully complete them (some ideas: a game of hangman, a game of tic-tac-toe, a game of tic-tac-toe with artificial intelligence). Find someone you know who's a better programmer than you are, and ask him or her to review your code -- going over the code together is best. Do this repeatedly, if possible. Make sure you have a clear understanding of what all of your code is doing. Learn to debug systematically (i.e., when something doesn't work, don't just change your code randomly -- read the error message or look at the output, think about what might be wrong, form a hypothesis, and then change your code accordingly).
Most importantly: Don't give up, and have fun!
I hope this helps and I hope to see you apply sometime down the line!
EDIT: To more directly answer your question, we look for smart, friendly, intellectually curious people who enjoy programming and want to get dramatically better. We care much more about people demonstrating that they can get a good understanding of one language than a shallow understanding of lots of languages.
One thing to add to this: It very well might be worth applying to this batch. Even if you don't get in, We'll get to see how much you grew as a programmer on your own between batches. If we have this information during admissions, we put a lot of weight on it.
Former Hacker Schooler and also a novice programmer at the time of applying.
Nicholas' edit is true in my experience: HS cares more about your desire to become a better programmer, which is not a function of how good you are now.
wow, didn't expect to get a response from the founder! thanks a lot for your suggestions.
sounds like i should definitely stay focused on python for now and develop some projects with that language, as opposed to reading lots of books on lots of different languages.
i've saved your post and i plan on following your advice and applying. thanks again! experienced guidance is rare and valuable as self-teacher.
Choose a single language, and focus just on that. Python (which it looks like you've already started with), is a good choice. Spend some time with books, online classes, etc, but spend ~80% of your time actually programming and not just reading. Start with small projects that take you an afternoon and gradually increase in size as you successfully complete them (some ideas: a game of hangman, a game of tic-tac-toe, a game of tic-tac-toe with artificial intelligence). Find someone you know who's a better programmer than you are, and ask him or her to review your code -- going over the code together is best. Do this repeatedly, if possible. Make sure you have a clear understanding of what all of your code is doing. Learn to debug systematically (i.e., when something doesn't work, don't just change your code randomly -- read the error message or look at the output, think about what might be wrong, form a hypothesis, and then change your code accordingly).
Most importantly: Don't give up, and have fun!
I hope this helps and I hope to see you apply sometime down the line!
EDIT: To more directly answer your question, we look for smart, friendly, intellectually curious people who enjoy programming and want to get dramatically better. We care much more about people demonstrating that they can get a good understanding of one language than a shallow understanding of lots of languages.