What we look for in students

Update 2/25/14: Since we wrote this blog post, we’ve begun to deemphasize “student” in favor of “Hacker Schooler” and other context dependent words and phrases (see our blog post, “Words are hard”). While this post is out of date in its use of “student,” the rest of its advice is still relevant.

One of the surprising things we’ve learned while running Hacker School is that many of our students almost didn’t apply because they thought they wouldn’t get in. This includes people who are exceptional Hacker Schoolers, and who are exactly the type of people we look for.

This scares us, since it suggests there are people who know about Hacker School and would be a great fit, but who aren’t even applying because they don’t think they’re qualified.

The goal of this post is to be as transparent as possible about what we look for, so that you apply if you’re one of these people. Similarly, we want to make it as easy as possible for you to show us that you’re one of these people, so we don’t make a mistake and miss you when reviewing applications.1

Here are the qualities we look for, and some tips on how to convey them in your application and interviews:

  • You enjoy programming. We spend most of our time at Hacker School programming, or doing things directly related to programming (like code reviews), and we reject the carrots and sticks approach of traditional schooling. This means that you need to enjoy programming to be happy and do well at Hacker School. (This does not mean you need to be single-mindedly obsessed with programming. See our FAQ and this blog post for more.)

Admissions tips: Link to code you’ve written, a technical blog, or anything else that shows us that you program.2

  • You want to get significantly better. This applies regardless of if you’ve been programming for two months or two decades. We don’t think there’s a meaningful upper-bound for how good a programmer you can be. And even if there is, 99.9% of us aren’t close to it.

Admissions tips: Tell us about your weaknesses as a programmer, and how you’d like to grow. (If you’re a new programmer, this can be hard, since you might not even know what you don’t know. That’s fine! It’s ok if your answer is “I’ve only been programming for eight weeks, and I’ve never written a program from scratch that’s longer than 20 lines.”).

  • You’re friendly. We’re a tight-knit community, and we spend three months in close quarters. Purely for our own happiness we don’t want to admit jerks. We also think this is pedagogically important.

  • You’re self-directed. Hacker School isn’t a programming “bootcamp.” We don’t have a fixed curriculum that we force-feed you, nor will we dictate how you spend your time. There are a ton of resources to take advantage of here (from facilitators to residents to the other students), but it’s ultimately up to you to get the most out of Hacker School, and this requires that you’re able to organize and prioritize your own time.

  • You’re intellectually curious. Your curiosity is your north star at Hacker School, and we want to see that you get excited about ideas.

Admissions tips: Tell us about something that engaged you intellectually when answering the question about the most fascinating thing you’ve learned recently. We want to hear about something surprising you’ve learned, and it doesn’t need to be about programming. For example, it could be about high-frequency trading or how ancient Greek math was more practical than most people think.

  • You have a demonstrated capacity for rigor. We want to see that you know what it means to understand something deeply. Equally or perhaps more importantly, we also want to see that you’re aware when you don’t understand something.

Admissions tips: We care more about depth than breadth – we’d rather people have a deep understanding of one language than a superficial understanding of three. We want to see that you understand the code that you’ve written and don’t just bang things together until they work. If you’re really new to programming, we want to see that you’ve previously been successful in learning something hard, whether that’s law or biomedical engineering.

  • You’re introspective. Being introspective will help you make the most of your time at Hacker School. We think introspection and reflection are essential to growth: You need to be able to occasionally step back and assess your understanding and progress.

Admissions tips: Use the Hacker School admissions process as an opportunity to evaluate us and decide if Hacker School is a good choice for you. We love it when people ask thoughtful questions that show they’re engaged and actively thinking about if Hacker School is the right choice for them.

If you think Hacker School is a good fit for you, we’d love to see you apply, and we hope this post helps you with your application.

  1. Some basic tips for applying: Know what Hacker School is and what it’s not (you should read our about page, FAQ, and User’s Manual beforehand); use proper spelling and grammar (you don’t need to be “formal,” but you should write in full sentences); and demonstrate good judgement in how you present yourself in your application.

  2. One negative signal for us is if you previously programmed and then stopped (e.g., you studied CS and then became a product manager). If this applies to you, tell us why you left programming and what’s changed in the interim. We also want to see signs that you’ve already started coding again.

    Update: A couple of people were confused by this point, so to clarify: We’ve had students who went through traditional CS programs, hated them (and were almost driven away from programming), and were awesome Hacker Schoolers. So the above is a negative signal, but it only matters absent stronger positive signals. E.g., if the person actually programs, that’s a positive signal, and counts much more for us.