About the Recurse Center
Founded in 2011, the Recurse Center is a free, self-directed, educational retreat for people who want to get better at programming, whether they've been coding for three decades or three months. Participants come from around the world for 12-week batches in New York, where they write open source software and grow together as programmers in a friendly, intellectual, and energizing environment.
With an alumni network of more than 700 people in dozens of countries, we have one of the most tightly-knit, diverse, and supportive programming communities in the world.
Our retreat is free for everyone, and we offer need-based living-expense grants of up to $7,000 to women and people from groups traditionally underrepresented in programming.
Prior to March of 2015, we were (confusingly) named Hacker School.
The Recurse Center 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 what interests them, surrounded by friendly and intellectually curious peers and mentors.
This does not mean that the Recurse Center 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 Recursers themselves, and is the result of the preconditions of the Recurse Center. 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 Recurser wanted increased accountability for blogging regularly, and so he organized a successful weekly "Iron Blogger" group.
We've designed our environment 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 our batches are full-time. 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 Recursers about their work.
We actively work to increase the diversity of our community through grants for people from historically underrepresented groups in programming to come to the Recurse Center. We have a diverse and tightly-knit alumni community. We are committed to making our 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 Recurse Center employees and are resources for you to draw on during your time at the Recurse Center. 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 Recursers 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 Recursers 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 the Recurse Center 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 the Recurse Center. Even very experienced programmers can improve with substantial periods of focused, deliberate practice in a supportive community. Residents help us build that community, so that even the most advanced Recursers have a chance to work with someone who will blow their minds.
You can read more on our residents page.
Who comes to the Recurse Center?
The Recurse Center 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 the Recurse Center 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.
Recursers are extraordinarily diverse, and range in everything from age (16 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 Recursers on our alumni profiles page.
We've had over 700 Recursers, 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 Recursers 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 the Recurse Center.
If you're curious to learn more demographic information, check out our blog post about who comes to the Recurse Center.
What do people work on?
Projects at the Recurse Center 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 our mission 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 Recursers have made:
- Morsel.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, Recursers 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 the Recurse Center. 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 700 alumni from over 25 countries, and our alumni network has become one of the most valuable parts of being a Recurser.
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 Recursers. 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).
Recursers 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 their time at the Recurse Center as one of the best periods of their lives.
Jobs, recruiting and how we make money
The Recurse Center 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 Recurse Center alum. The verdict is still out if this is a long-term, scalable business model, but we are committed to making the Recurse Center as accessible as possible.
There is no requirement to take a job after coming to the Recurse Center, however, we ask that if you do want a programming job, you work with us to find it. The overwhelming majority of Recurse Center 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 the Recurse Center. This is partly because we care much more about making the Recurse Center 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 the Recurse Center, including interview preparation sessions, personal introductions to partner companies, jobs-focused events, individualized career advice, and help with salary negotiations.
Allie was in the Winter 2013 batch, where she built everything from a static site generator to EventMachine-based networking apps to a tool to pair Recursers based on shared skills and interests. Before doing RC, Allie worked as a web designer and developer and studied textile design. Most recently, she's been an engineer at PhotoShelter, where she helped build and architect Lattice using React and Flux and worked on improving internal infrastructure and tooling.
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.
Lisa (RC Summer 2012) was a founding member of the Etsy Android team, where she helped launch 2 apps and a mobile payments reader. Most notably, one of her hack week projects bumped Etsy stock by 30% in a day. After Etsy, Lisa spent 14 months as the Android Engineer at Electric Objects, helping build a home for digital art.
James J. Porter
James has worked in the past on everything from fruit fly genetics to online payment systems to storage infrastructure for bioinformatics. He was in the Summer 2013 batch, and outside of computing enjoys cycling and tabletop games of all sorts.
John J. Workman
John was in the first batch and coined our motto, "never graduate." He then spent four years at PhotoShelter, where he built a photo portfolio framework, a developer platform for storing and delivering media, and a video transcoding pipeline. John studied art history and architecture, and outside of programming loves traveling, coffee, and shooting film.
Nancy graduated from college with a degree in journalism and American history and spent the next several years working in healthcare public relations. She is excited to help Recursers (past and present!) on their career paths with everything from writing to editing to rubber-ducking. Nancy is enamored with all dog Instagram accounts, improv comedy, and fellow North Carolina natives.
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 the Recurse Center runs smoothly. Rachel is a life-long 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 the Recurse Center, and aims to create a Bauhaus for programmers. She's pragmatic and is excited by programming as a tool to implement her designs.
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 the Recurse Center. Zach is particularly enamored with Clojure and spends at least some of his time implementing abstract machines.