

Ask HN: What should I study at HackerSchool? - mkrecny

Hacker School is a three-month, full-time school in New York for becoming a better programmer. It's free, and there's no curricula, so it's up to me to decide what to work on.<p>I'm a self-taught web programmer who's skill-set is incredibly narrow: node.js, browser js, extremely basic ruby, python &#38; PHP, comfortable with git, linux, mongodb, redis.<p>The question:<p>What would you study if:<p>a. You wanted to become more employable. By this I mean having a skill-set applicable to the greatest number of opportunities in the market.<p>b. You wanted to become the most 'powerful'? By this I mean capable of doing really novel/magical things even it means working with languages &#38; frameworks that most people, and employers don't.
======
tom_b
Congratulations on heading to HackerSchool!

A and B seem mutually exclusive to me these days. You seem to have an
interesting (and not necessarily narrow) skillset, so don't sweat "broadness"
much. The greatest number of opportunities are probably in enterprise Java or
C# and I would feel bad recommending you use HackerSchool for that _unless
that is personally compelling to you._

For B, I scanned your webpage. You have a short posting on predictions. I have
this theory that I intend to more fully explore that building up a real strong
background in stats and applied modeling would be a superpower. The applied
part might be great fun at HackerSchool. Maybe tackle something with Clojure
and Incanter. Or really push your Python chops.

If you feel like you really want or need to build your foundations, maybe you
could take a book like Concept, Techniques, and Models of Computer Programming
and grind through. I wish my formal CS education had spent at least a year
doing a kind of "paradigms of programming" path, studying functional and logic
programming _deeply._ Ask around about this, I often think that doing this
with one or two others would be better than alone.

I feel like I'm writing this comment to myself. Hopefully it's at least
somewhat helpful to you.

~~~
mkrecny
Tom - you're certainly not writing to yourself. Thank you so much :-)

------
jyu
A is something HackerSchool can answer, given that they are paid by startups
to recruit (<https://www.hackerschool.com/faq>). In addition, the participants
range greatly in experience, so you can a lot more datapoints there.

B. There are different types of 'becoming powerful'. Given that you are self-
taught, you may want to identify and fill some holes in your knowledge. Maybe
you could go through SICP, Algorithms, learn about functional programming in
scala, etc. I would personally try to find something really challenging to
learn on your own that I've really wanted to learn for a long time. On your
website, you mention doing predictions with twitter. Maybe you could go deeper
into AI / machine learning. I'm currently going through Algorithms, and it's
been a really frustrating / rewarding / mind bending time, and it's definitely
shown in my code.

Powerful in the sense of creating new and innovating things seems to come more
from ideology / beliefs than from using a specific programming language or
framework. You might want to read more into Bret Victor and Richard Reynman if
you haven't already.

Bret Victor's Inventing on Principle comes to mind:
<http://vimeo.com/36579366>

Richard Feynman's approach to research problems is also really enlightening.
Have 10-20 hard problems floating in your head, and as you go about your day,
reading, looking, exploring, match everything against those problems to see if
you can make any progress on them.

~~~
mkrecny
Jyu,

Thanks, that's a really awesome response. I'm grepping through the Victor
article now. All the best.

