About Hacker School
Hacker School is a free, full-time, immersive school in New York for becoming a better programmer. We're like a writers' retreat for programmers. People come from around the world to write code and grow as programmers. We run Hacker School in three-month sessions, called batches, and each batch has about 35 people. Batches overlap with each other. We make money by helping companies hire our alumni.
Hacker School is a "school" in the sense that it's a place people come to learn, but we intentionally forgo many of the trappings of traditional schools. We don't have grades, degrees, classes, or a fixed curriculum.
Instead, Hacker School is largely unstructured, self-directed, and project-based. That's because we value internal motivation over external motivation, and self-direction over coercion. We believe people learn best when they have the freedom to explore their interests and passions, surrounded by friendly and intellectually curious peers and mentors.
This does not mean that Hacker School is a vacuum. Every batch brims with optional activities and structure: reading groups, mini workshops and seminars, weekly dinners and talks, group presentations, and more. Much of this is driven by Hacker Schoolers themselves, and is the result of the preconditions of Hacker School. When you bring together a bunch of smart and friendly people who all want to learn and help each other grow, great things happen. For instance, one Hacker Schooler wanted increased accountability for blogging regularly, and so he organized a successful weekly "Iron Blogger" group.
We've designed Hacker School with one thing above all else in mind: How to make the best place for people to grow as programmers. Almost everything we do can be traced back to this goal.
The atmosphere here is friendly and intellectual, and we try to remove as many obstacles in the way of people's growth as possible.
We know it takes deliberate practice and large chunks of time to really get better, which is why Hacker School is full-time for three months. We know it can be hard to keep yourself on track, which is why we have morning checkins to provide support and friendly social pressure.
We know lots of people are afraid to admit they don't understand things, which is why we have a social rule barring "feigned surprise" and we encourage people to explore and expose their ignorance. We know stereotype threat is a real issue, which is why we strive for gender balance. We know individualized feedback can be critical to growth, which is why we have facilitators to pair with and get code review from.
We also host weekly talks and regular events where people like Leigh Honeywell, Marc Hedlund and Steve Klabnik come talk to Hacker Schoolers about their work.
We actively work to increase the diversity of our community through grants for people from historically underrepresented groups in tech to come to Hacker School. We have a diverse and tightly-knit alumni community. We are committed to making Hacker School’s community reflective of the diversity of the United States, because we believe that our community benefits when it includes people with a wide variety of viewpoints and experience.
Instead of teachers, we have facilitators. Facilitators are full-time Hacker School employees and are resources for you to draw on during your time at Hacker School. Since they're not teachers in the traditional sense, neither they nor anyone else will be dictating how you take advantage of all the resources here.
You can think of facilitators as experienced Hacker Schoolers who are paid to help you get as much as possible out of the batch. They can pair with you, review your code, brainstorm project ideas, help get your dev environment set up, direct you to other Hacker Schoolers or residents, and do anything else within reason to make your time here more productive and educational.
Residents are particularly accomplished programmers who spend one or two weeks at Hacker School and work directly with students. They give talks, run small workshops, and do lots of code review and pairing.
We don't believe there's an upper bound for experience at Hacker School. Even very experienced programmers can improve with three months of focused, deliberate practice in a supportive community. Residents help us build that community, so that even the most advanced Hacker Schoolers have a chance to work with someone who will blow their minds.
You can read more on our residents page.
Who comes to Hacker School?
Hacker School is for people who want to become better programmers. We are not startup school nor are we a bootcamp: Our focus is helping people become better programmers, not building prototypes, and we're not a training program for web developers.
Because there is no certification or grading, the only reason to come to Hacker School is to become a better programmer. As such, you will find kindred spirits and tremendous energy. We look for smart, friendly, self-directed, intellectually curious people who enjoy programming and want to get dramatically better.
Hacker Schoolers are extraordinarily diverse, and range in everything from age (17 to late 50s) to previous programming experience (eight weeks to 30 years) to past profession (ex-Googlers to former ballet dancers). You can read more about past Hacker Schoolers on our alumni profiles page.
We've had over 400 Hacker Schoolers, so we've almost certainly had someone like you. However, there are some patterns that have emerged:
- Experienced programmers, especially those working at startups, who want to take a sabbatical to focus on programming as a craft.
- Physicists, chemists, biologists, and other natural scientists. Sometimes they're explicitly looking to leave academia, and sometimes they just want to learn how to write more modular, maintainable, and readable code.
- Professionals who want to make a career change. The three most common professions Hacker Schoolers have come from are finance, consulting, and law, but we've had everyone from college professors to journalists.
- Parents who left programming for a few years to raise families and who have now returned to it.
- Programmers who have been stuck at large, boring companies (hello, Boeing and IBM) who want to work on more interesting problems.
- Undergraduate and graduate students who choose to spend a semester or summer at Hacker School.
If you're curious to learn more demographic information, check out our blog post, Who comes to Hacker School?
What do people work on?
Hacker School projects are as diverse as the people who come here. The size, scope, and type of projects people build are largely dependent on their current programming level. We encourage people to work on things that are one or two steps beyond their comfort zone, which means newer programmers tend to work on a few small projects, and more advanced programmers tend to tackle larger projects.
Everyone writes free and open source software, because it would be antithetical to Hacker School to write code that couldn't be read, used, and improved by others. Popular projects include networked games, BitTorrent clients, and simple AIs.
Here is a small selection of some of the more substantial projects Hacker Schoolers have made:
- WebStack.jl, a web framework for Julia
- webRTC.io, an abstraction layer for webRTC
- Strucjure, a parsing and pattern matching library in Clojure
- Stork, a new programming language
- Turtles, a Lisp interpreter for the Apple IIe
- a Dropbox client for Haiku
- a BitTorrent client in Python
- capybara-touch, a tool that runs your tests against Mobile WebKit via the iOS Simulator
- Dvorany, an Arduino-powered box that lets you use a Dvorak keyboard layout on any computer
- A Python decorator that can automatically make a function tail-recursive
- Satellizer, a token-based authentication module for AngularJS
- An ASCII photo booth that makes use of GPUImage’s Mosaic filter
- A custom compression scheme that combines linear algebra and programming
Additionally, Hacker Schoolers frequently contribute to established open source projects, and have had dozens of patches accepted and pull requests merged.
One important thing to know is that you do not need to have any specific project in mind before you come to Hacker School. While some people know what they want to build before they get here, most people decide after the batch starts.
We have a tight-knit community of more than 400 alumni from over 25 countries, and our alumni network has become one of the most valuable parts of being a Hacker Schooler.
Our motto is "never graduate," and we remain in close contact with and continue to support our alumni long after their batch ends. We open our Monday night talks and dinners to alumni, and invite them to code with us on Thursdays. We also host regular alumni events, and our alumni organize biweekly alumni lunches.
We specifically select for friendly people, and our alumni routinely help each other and current Hacker Schoolers. They do everything from doing code reviews to giving career and interview advice (we have alumni at most of the big tech companies, including Facebook, Twitter, and Google).
Hacker Schoolers have lots of interests beyond programming, and they frequently choose to spend their evenings and weekends hanging out and exploring New York. Past batches have made countless trips to beaches, museums, restaurants, and concerts, and have organized everything from lock-picking and knitting groups to poker nights.
Many alumni have described Hacker School as the best three months of their lives.
Jobs, recruiting and how we make money
Hacker School is free for everyone because companies pay us to recruit. We have agreements with a few dozen tech companies (from small startups to bigger companies like Tumblr, Twitter, and Venmo), and these companies pay us when they hire a Hacker School alum. The verdict is still out if this is a long-term, scalable business model, but we are committed to making Hacker School as accessible as possible.
There is no requirement to take a job after Hacker School, however, we ask that if you do want a programming job, you work with us to find it. The overwhelming majority of Hacker School alumni who have wanted jobs after the batch have gotten them.
Many people are surprised to learn that we do not take applicants' desire for a new programming job or their employability into account when making admissions decisions. Instead, we admit people based on if we think they'd benefit from and contribute to Hacker School. This is partly because we care much more about making Hacker School great than making money, and partly because we believe this strategy is in our long-term financial self-interest, even if it's not in our short-term financial self-interest.
We provide extensive support for people seeking jobs after Hacker School, including interview preparation sessions, personal introductions to partner companies, jobs-focused events, individualized career advice, and help with salary negotiations.
Alan studied physics and then supported himself by playing poker online. He didn't start coding until after college, when he fell in love with Haskell and never looked back. He's a polyglot and loves learning new languages. He's currently exploring Coq. He was in the first batch of Hacker School.
Dave spent his youth installing different distributions of Linux over and over again. These days he programs in a lot of Ruby and a bit of Clojure. He thinks a lot about the programming environment of the future and occasionally reads academic papers to see if he can catch a glimpse of it.
Rachel studied journalism and creative writing in college and spent the next few years working in the fashion industry. She's excited to learn to code in-between planning events, wrangling calendars, and making sure everything at Hacker School runs smoothly. Rachel is a lifelong New Yorker and a second generation comic book nerd.
Sonali grew up agonizing over consumer culture, so she screen printed posters for "Buy Nothing Day." She has now taken on the challenge of designing experiences at Hacker School, and aims to create a Bauhaus for programmers. She's pragmatic and is excited by programming as a tool to implement her designs.
Tom studied physics and then worked in a neuroimaging lab, where he did image processing and made people play frustrating video games in MRI scanners. He was in the third batch of Hacker School, and is looking forward to continuing with SICP and learning either Go or Erlang in the next batch.
Zach went to college expecting to study political science, but quickly found computer science much more to his liking. After exhausting most of the CS classes his university offered, he left and came to Hacker School. Zach is particularly enamored with Clojure and spends at least some of his time implementing abstract machines.