Recurse Center

User’s Manual

About this document

This User's Manual was written for admitted Recursers to help them navigate and understand the Recurse Center. We've decided to publish it in the hope that it will give the outside world a clearer picture of what the Recurse Center is like. You can read more about our motivations on our blog.

We're currently operating online, though you'll still find many references to our physical space in this manual. We've left them in with notes because they provide useful context for people joining us for Virtual RC. We look forward to reopening our space as soon as it's safe to do so, though we hope to also offer online batches when we do.

Welcome to an unusual experiment

The Recurse Center is unlike the rest of the world. This guide is designed to help you get settled in and get the most out of your batch.

One of the things that makes the Recurse Center different is that it's largely self-directed. This means you won't have someone telling you what to do, learn, etc, while you're here (though we do have a few social rules). This self-directedness is baked into the core structure of the Recurse Center, and is why we don't have grades, exams, curricula, or even classes. It comes from our belief that people learn best when given the freedom to explore what most interests them.

This doesn't mean the Recurse Center is a vacuum, just that the structure we provide is optional, not mandatory. We've been running the Recurse Center since the summer of 2011, and we've learned a good amount about what strategies have and have not worked for different types of people in the past.

The rest of your batch is here to help you get the most out of your time here. Recursers come from a tremendously diverse set of backgrounds, so everyone has something to learn from their peers. Some people come to the Recurse Center and only have a few months of programming experience. For instance, maybe you're learning Python and are just getting a grasp on basic programming concepts. Other people come to the Recurse Center and have programmed professionally for multiple decades. For instance, maybe you have an ambitious project idea you've always wanted to work on but have never had the time to start.

Don't panic

Regardless of how much experience you have, we admitted you because we believed you would be a positive influence on the batch, and we think being at the Recurse Center can help you dramatically improve as a programmer. This is really important, so we'll say it again: Everyone is here because we want them to be here, so if you're reading this, don't worry about how much more or less other people in your batch know. You are here because we want you to be here and believe in you.

The environment

Another thing that makes the Recurse Center different is the amount of focus it gives you. It's rare to have such a large, uninterrupted chunk of time to focus on just one thing. Even at work, most of us have multiple responsibilities and priorities to juggle.

Ideally, that's not the case at the Recurse Center. One of our goals is to remove as many obstacles in the path of growth as possible. Giving people three months to focus on becoming better programmers is a huge part of that.

(A funny thing we noticed a few batches in: the Recurse Center is as much a social hack as anything. You could quit your job and spend a few months programming for its own sake, but most people would consider you pretty weird. Of course, we also think we offer way more benefit than just being an easy answer to tell your friends and family when they ask what the heck you're doing with your life.)


Another obstacle we try to remove is fear. We think this is one of the most pernicious impediments to education. In most of the world, but especially school and work, people are afraid of looking stupid. This fear frequently keeps us from asking important questions like "how does that work?" or even just "why?" Worse, it keeps us from saying "I don't understand." That means many of us muddle on with a half-baked or entirely incorrect understanding of core concepts. This is particularly bad with programming, because these misunderstandings compound, and over time become harder and more embarrassing to admit to and address.

Impostor syndrome

Did you know there's a well-documented phenomenon in which highly qualified people go through life feeling like they're a bunch of frauds and don't deserve the things they've achieved? It's common in work ("I can't believe I made it past the interviews. Surely someone will figure out I'm wildly incompetent and fire me soon!") and school ("Everyone here is so much smarter than me. I got in on a fluke."). This is called impostor syndrome.

This is why saying "I don't know" or "I don't understand" is a positive thing at the Recurse Center. It's an opportunity for you to learn something new, and for someone else to help you with it (or vice versa).

Social rules

Another way we try to remove obstacles to learning is by having a small set of social rules. These rules are intended to be lightweight, and to make more explicit certain social norms that are normally implicit. Most of our social rules really boil down to "don't be a jerk" or "don't be annoying." Of course, almost nobody sets out to be a jerk or annoying, so telling people not to be jerks isn't a very productive strategy. That's why our social rules are designed to curtail specific behavior we've found to be destructive to a supportive, productive, and fun learning environment.

A poster of the social rules

No feigning surprise

The first rule means you shouldn't act surprised when people say they don't know something. This applies to both technical things ("What?! I can't believe you don't know what the stack is!") and non-technical things ("You don't know who RMS is?!"). Feigning surprise has absolutely no social or educational benefit: When people feign surprise, it's usually to make them feel better about themselves and others feel worse. And even when that's not the intention, it's almost always the effect. As you've probably already guessed, this rule is tightly coupled to our belief in the importance of people feeling comfortable saying "I don't know" and "I don't understand."

No well-actually's

A well-actually happens when someone says something that's almost - but not entirely - correct, and you say, "well, actually…" and then give a minor correction. This is especially annoying when the correction has no bearing on the actual conversation. This doesn't mean the Recurse Center isn't about truth-seeking or that we don't care about being precise. Almost all well-actually's in our experience are about grandstanding, not truth-seeking. (Thanks to Miguel de Icaza for originally coining the term "well-actually.")

No back-seat driving

If you overhear people working through a problem, you shouldn't intermittently lob advice across the room. This can lead to the "too many cooks" problem, but more important, it can be rude and disruptive to half-participate in a conversation. This isn't to say you shouldn't help, offer advice, or join conversations. On the contrary, we encourage all those things. Rather, it just means that when you want to help out or work with others, you should fully engage and not just butt in sporadically.

No subtle -isms

Our last social rule bans subtle racism, sexism, homophobia, transphobia, and other kinds of bias. This one is different from the rest, because it covers a class of behaviors instead of one very specific pattern.

Subtle -isms are small things that make others feel unwelcome, things that we all sometimes do by mistake. For example, saying "It's so easy my grandmother could do it" is a subtle -ism. Like the other three social rules, this one is often accidentally broken. Like the other three, it's not a big deal to mess up – you just apologize and move on.

If you see a subtle -ism at the Recurse Center, you can point it out to the relevant person, either publicly or privately, or you can ask one of the faculty to say something. After this, we ask that all further discussion move off of public channels. If you are a third party, and you don't see what could be biased about the comment that was made, feel free to talk to faculty. Please don't say, "Comment X wasn't homophobic!" Similarly, please don't pile on to someone who made a mistake. The "subtle" in "subtle -isms" means that it's probably not obvious to everyone right away what was wrong with the comment.

We want the Recurse Center to be a space with as little bigotry as possible in it. Therefore, if you see sexism, racism, etc. outside of the Recurse Center, please don't bring it in. So, for example, please don't start a discussion of the latest offensive comment from Random Tech Person Y. For many people, especially those who may have spent time in unpleasant environments, these conversations can be very distracting. At the Recurse Center, we want to remove as many distractions as possible so everyone can focus on programming. There are many places in the world to discuss and debate these issues, but there are precious few where people can avoid them. We want the Recurse Center to be one of those places.

Why have social rules?

The goal isn't to burden everyone with a bunch of annoying rules, or to give us a stick to bludgeon people with for "being bad." Rather, these rules are designed to help all of us build a pleasant, productive, and fearless community.

If someone says, "hey, you just feigned surprise," or "that's subtly sexist," don't worry. Just apologize, reflect for a second, and move on. It doesn't mean you're a "bad" person, or even a "bad" Recurser. As we said above, these rules are meant to be lightweight. We've all done these things before. In fact, we originally adopted a no well-actually policy for our company because Nick and Dave well-actually'd each other all the time.

Sometimes pointing out that someone broke a social rule can be challenging or feel awkward. If you don't feel comfortable pointing out to someone that they are consistently breaking a social rule, ask a facilitator for help.

Code of conduct

The social rules don't cover harassment or discrimination. For that, we have a code of conduct enforced by the RC faculty. All members of the RC community are expected to abide by our code of conduct.

You can report code of conduct violations using our reporting form.

The time commitment

Batches meet Monday through Friday, 11am to 5pm ET, with many additional events outside of those hours. Besides the mandatory first day events running from 11 am - 12 pm ET and last day events running from 5:00 - 6:00 pm ET, our schedule is a bit more flexible while RC is remote because people are participating in time zones all over the world. But the basic expectation is the same: that RC is your primary commitment while you're in batch, and that you join us online during our core hours for the entirety of your batch.

We’ve found that RC doesn’t work well for people who aren’t ready to make a significant commitment to it. We say 6 hours a day, but that’s a proxy for the commitment we expect you to make rather than a strict requirement in itself. Even though we’re operating remotely, it’s difficult to do RC when you have a full-time or part-time job, or are going to school. If we notice that you aren’t participating in your batch, we’ll reach out to you.


What should you actually do while you're at RC in order to grow and learn the most?

The answer to this question is summed up in three guiding principles called the self-directives. They are:

  • Work at the edge of your abilities
  • Build your volitional muscles
  • Learn generously

Working at the edge of your abilities means choosing work that’s challenging for you, without being so difficult that its discouraging. This is where the most learning and growth happens. You won’t learn anything new by working within your comfort zone, but you also won’t get far if you choose a project so hard that you don’t even know where to start. You have to find a balance between these two extremes.

For example, if you come to RC as a relatively new programmer, working at the edge of your abilities might mean building your first program with over a hundred lines of code. If you’re very experienced in one area of programming, it might mean jumping into something totally new to you (for example, if you have years of experience as a web developer, you might explore operating systems). Regardless of what you know coming into RC, there are things you don’t know, and your abilities have an edge. Find it, and work there.

Building your volitional muscles means getting better at directing yourself based on your own intrinsic motivations and desires, rather than on external pressures and fears.

You have to choose what to work on at RC for yourself. It can be surprisingly hard to decide what to do because you have many motivations pushing you in different directions.

Some motivations are intrinsic, and come from your genuine desires. For example, you might work on something:

  • Because you want to use it yourself
  • Because you find it intellectually satisfying, or just plain fun

Other motivations are extrinsic, and come from the outside world:

  • Because you’re afraid of missing out on what other Recursers are doing
  • Because you need to get a job after your batch, and you think this will help you do it
  • Because it uses popular technologies

Your “volitional muscles” are your ability to separate these two kinds of motivations from each other, and to choose work that’s intrinsically motivated—that you want to do for the sake of your own curiosity, joy, and satisfaction. Like real muscles, you build volitional muscles by using them. You have to constantly ask yourself what do I really want to do? And then do it.

Learning generously means participating in the RC community: sharing your work and learning, supporting others in their struggles, and celebrating their successes. It also means benefiting from these things when others do them.

There are many ways to learn generously at RC, including:

  • Pair programming
  • Giving a presentation
  • Contributing to discussions on Zulip
  • Sharing check-ins about your work in writing or in group meetings
  • Attending or hosting events

Learning generously is what makes RC different from spending six or twelve weeks learning and programming on your own. You could work at the edge of your abilities and build your volitional muscles by yourself, but learning generously with a community of peers is what makes RC uniquely valuable.

It’s possible to learn generously no matter what you’re working on or how much experience you have. Even if you think others won’t be interested in your work, or won’t have anything to learn from you, your enthusiasm about what you’re learning might be exactly what they need to push their own work forward.

Learning generously only works if everyone does it. When we do, we all get out more than we put in.

Thursday night presentations at RC

The self-directives are things everyone at RC should do, but how you apply them will depend on your particular goals and challenges. For example, the edge of your abilities is different than everybody else’s (and also changes over time as you learn and grow).

One more concrete piece of advice: when in doubt, program. In general, the more code you write at RC, the more you’ll learn. Don’t worry about choosing the “perfect” project before you begin. It’s much better to just start programming something, anything, that you’re excited about. Even something that feels small can help you build momentum.

Pair programming

One of the most valuable ways to learn generously at RC is by pair programming. Most alumni wish they'd spent more time pair programming during their batch. We learned this after the second batch, and have shared this fact with every batch since. Despite this, lots of people still tell us after their batch that they really wish they'd paired more.

Two Recursers pairing

What is pair programming?

Pairing means two people working on the same code using a single computer, either via screensharing on a video call or by sitting next to one another. – Using only one computer – is important, because pairing is about actively collaborating and not just two people working on the same project or sitting next to each other on their own computers.

At any given time, one person will be the "driver" and the other person will be the "navigator." The driver is the one actually typing the code. The navigator generally sits next to the driver and reads the same screen. The navigator is there to talk through ideas, direct the driver, and think about how the code currently being written fits into the larger project. You should switch roles (i.e., driver and navigator) regularly, minimally every two hours, and ideally even more frequently. Switching regularly helps with knowledge transfer, ensures that both people get to drive and know what's going on, and helps keep everyone energized.

Sometimes you'll hit a wall. For example, you could run up against a concept neither person understands, or not know what library is best to use for your project. In these cases, it's ok to take a break from pairing. If you do this, you should time-box it, e.g., "Let's spend 15 minutes on our own researching what the best library for this is, and then report back with what we've found." The important thing is to explicitly agree to take a break and set a specific time when you'll check back in. The one thing you should not do is pretend to keep pairing but really default back to just working next to each other. It's easy to do this and waste hours without even noticing it.

There are several advantages to pairing. One is that it keeps everyone focused on the task at hand. When you're working alone, it can be easy to get distracted (e.g., by email or a shiny new JavaScript framework), but it's much, much harder to switch to Gmail when someone's sitting by your side and also reading your screen. Successful pairing should yield a productive feedback loop where each person helps keep the other focused.

Another advantage is that the navigator can catch a lot of small errors immediately (typos, missing semicolons, incorrect variable names, etc). It's faster and easier to fix bugs the moment they're introduced than at any subsequent time, so this ends up being a big win. Plus, as the saying goes, with many eyes, all bugs are shallow.

Pairing is great for knowledge transfer and can help with everything from learning a language to picking up editor or command line tricks.

Also, it's fun!

One thing to consider before pairing

It's good to make sure you have similar (or at least compatible) goals before you start pairing. If one person thinks the goal is to learn Python, and the other thinks the goal is to fix a bug as quickly as possible, you can run into friction. Making sure you're on the same page or at least know where each other is coming from helps everyone get what they want.


RC can sometimes appear to be a place where everyone is productive, totally comfortable in the environment, and feels great about themselves and their work. The reality is not always so sunny. This section exists to acknowledge Recursers' struggles and to encourage everyone to seek support from the community. If you're considering applying and worried about any of these things, we hope you see this section as a show of support, not a deterrent to coming to the Recurse Center. Here are some things Recursers struggle with:

Feeling unproductive

Recursers sometimes feel bad about their work and their progress on it, or like everyone around them is more productive than they are. It's easy to see only those who are doing well, but everyone's productivity ebbs and flows.

Lack of structure

Recursers are often coming from more structured environments, like work or school, and not having imposed structure can be a large, overwhelming adjustment. Recursers sometimes struggle to decide what to work on here, and feel like they're imposing by asking others for help.

Batch transition

Six weeks into a batch of RC, the next batch of Recursers shows up and the previous batch leaves. This transition can be jarring for the Recursers experiencing the transition. Recursers struggle with half of their RC friends being suddenly gone and replaced by a bunch of new faces, or with the culture of RC changing.


This is an uncertain time for many people. Maybe your schedule has changed dramatically, you don't enjoy working from home, you feel guilty for stepping away from family obligations, or you're worried about or have lost friends or loved ones.


Because the tone of discussion at RC tends to be very positive, about RC and in general, it can sometimes be difficult to express negative feelings or talk openly about struggling. Recursers sometimes feel like they're alone in not having a great time at RC, and that they have no one to talk to about it. This can lead Recursers to feel alienated, or like they shouldn't have been admitted, or don't belong here. If you're struggling at RC and you're feeling like this, know that other Recursers have also struggled and felt alienated at RC; you're not alone. You can talk to your batchmates, reach out to faculty, or start a conversation on Zulip. The RC community wants to help you, whether it's your first day here or your batch ended years ago. And if it turns out RC isn't a good fit for you, that's OK too. Please come talk to us, we won't be offended.

Mental Health

Some Recursers struggle with mental health issues, which can add an extra level of complexity to navigating their time at RC. Smart, self-motivated people can have mental health issues, and there is no shame in getting support in dealing with them. Don't hesitate to reach out to us if you need help. While we don't have anyone on faculty who is a mental health professional, we will do what we can to connect you to people who are, and other resources you may need. Several members of the RC faculty are also trained in mental health first aid.

Jobs, recruiting, and how we make money

RC makes money by recruiting. We have partnerships with more than 100 companies, who pay us to hire Recursers for programming jobs. If you're interested in getting a job, we'll work with you to understand what you're looking for, match you with our open jobs at our partner companies, refer and introduce you to them, and help you prepare for interviews and negotiate offers. If a company we partner with hires you, they pay us a fee (usually equal to 25% of your first year salary) provided you stay at the company at least 90 days. This fee is paid out of the company's recruiting budget and does not come out of your salary. Recruiting fees are RC's only source of revenue. There's no obligation to get a job through RC, but if you are interested in a programming job after your batch or at any point in the future, please get in touch.

We see recruiting and education as integrated parts of a whole, each of which gets better as the RC community gets bigger, more diverse, and more active.

To learn more about getting a job through RC, you can read our Career Services page.

Recursers preparing for interviews

Want to hire from RC?

Some of our best partnerships have come from introductions Recursers have made. Learn more about how to get your company to hire from RC (not a Recurser? Learn more about hiring from RC here).

Jobs software

  • Jobs Chat: A private jobs dashboard where you can chat with RC faculty to keep track of the companies you're interviewing at or considering.

  • Jobs profile: Update your jobs profile to share your background, projects, skills, and work preferences with companies.

  • Company browser: Browse and research companies RC works with.

  • Jobs settings: Set your visibility and contact preferences for companies.

Advertising jobs to the RC community

Please don't post job listings for programming roles on Zulip or Community. This makes it harder for RC to succeed as a business and adds to the noise on our forums.

The one exception to this policy is the contracting stream on Zulip, where you're welcome to post about freelance and part-time contracting work, as well as internships, since RC only recruits for full-time jobs.

If you're an alum working for a company we don't recruit for, we also ask you not recruit Recursers to work with you. If you work at a non-RC company and would like to start recruiting Recursers, or if you work at an RC company and want to know how you can help hire more Recursers, please email us.

The space

Virtual RC

Virtual RC is our online space for remote batches. We developed it to support remote attendance while our space is closed, and we'll be hosting batches there until further notice. You can have audio chats, text chats, build new rooms and pixel art, easily join Zoom calls, leave notes for other people, and more! Alums are welcome in Virtual RC 24/7, and we'd love to see you there.

Our space is currently closed, and we're running all upcoming batches online. The following information pertains to our physical space, and we've left it here because it provides useful context for people joining a remote batch of RC.

Read more about how we're running RC online.

The Recurse Center is open to current batches with key fobs 24 hours a day, 7 days a week (except as otherwise announced on Community, e.g., during certain special events). Alumni are welcome to visit RC on Thursdays, Fridays, Saturdays and Sundays, as well as off-hours (before 11am and after 5pm on Mondays-Wednesdays). See the guests section for more information.

We don't have assigned seats. You're welcome to work wherever you like throughout the day and the duration of your batch. If you need a standing desk or another type of set-up because of health reasons, please let us know and we will accommodate you.

The library


Our space is currently closed, and we're running all upcoming batches online. The following information pertains to our physical space, and we've left it here because it provides useful context for people joining a remote batch of RC.

Read more about how we're running RC online.

The short answer to "Can I bring a guest?" is no.

Our goal is to create a safe environment that is conducive to learning. Having unfamiliar people coming and going makes that harder.

You'll occasionally see non-Recursers in the space (e.g. maintenance workers sent by our landlord, employees of our partner companies, etc.). We do our best to announce guests ahead of time, make sure they're here only as long as necessary, and make sure they know our social rules to minimize disruption. We will make exceptions, but only under unusual circumstances. We consider folks who haven't yet started their RC batches to be guests in the space; please don't invite them to the space outside of +1-friendly events.

If you're a current Recurser you are welcome to give your immediate family or significant others a peek at the space, so long as this happens during off-hours, is brief, and doesn't disrupt anyone's work. Please accompany your guest at all times.

This might sound heavy handed, but it's not meant to be. If you have any questions about the policy, please let us know.

Wall of Post-it Notes


Alumni are welcome to program, chat, host and attend events on Virtual RC all day, every day!

Our space is currently closed, and we're running all upcoming batches online. The following information pertains to our physical space, and we've left it here because it provides useful context for people joining a remote batch of RC.

Read more about how we're running RC online.

Alumni are welcome in the space to program for all or part of the day on Thursdays and Fridays, as well as any time other than 11am-5pm on Mondays-Wednesdays, which we reserve for current RC Retreat attendees.

Alumni are also welcome to host and join social events in the space on Saturdays, Sundays, and after 5pm on Mondays-Fridays. No guests are allowed unless the event is specifically advertised as open to guests. Whether an event is open to guests is at the discretion of the faculty and will be announced ahead of time. There will be at least one faculty member at any social event that is open to guests and all guests must agree to follow the social rules.

Recursers socializing over snacks before presentations

As we ask of everyone at the Recurse Center, we ask that you work on open source software while you're here (i.e., don't work on proprietary code or code that you couldn't pair on or share with others). We also ask that you introduce yourself on Zulip so that other Recursers know who you are.

Additionally, alumni in from out of town are welcome to visit on other days. If you're an alum and have an upcoming trip to New York, let us know! We'd love to have you back.

Most alumni do not have keys to the space. A small number who have agreed to take on additional responsibilities to the Recurse Center community have access to keys.


Our space is currently closed, and we're running all upcoming batches online. The following information pertains to our physical space, and we've left it here because it provides useful context for people joining a remote batch of RC.

Read more about how we're running RC online.

If you are in one of the current batches and would like to give your immediate family or significant other a peek at our space, you may do so during off-hours. Please keep the visit brief, be conscious of the other people in the space, and accompany your guest at all times.

+1-friendly events

We occasionally host evening events that Recursers are allowed to bring guests to (i.e., everyone is allowed to bring a guest as a +1). We'll note specifically on event announcements whenever events are open to guests.

When you bring guests to +1-friendly events, please make sure they wear name tags and are familiar with our social rules. Please stay with them during the event, and either see them out of the building before you leave or leave with them.

Exception for RC employees' families

We have an exception to our guest policy for RC employees, who are allowed to bring their immediate families (including significant others and children) to RC even during events that are not otherwise open to guests. Attending evening events on a regular basis is part of many RC employees' jobs, and this exception makes it a little easier for RC employees with families to attend.

Family-friendly policies

These policies are intended to make RC more accessible to parents and caregivers of kids of all ages. If you are a current or prospective Recurser, and curious about how your family responsibilities might fit in with your time at RC, don’t hesitate to get in touch. Zulip, our internal chat system, also has a parenting stream, so feel free to join, participate in discussion, and reach out to other parents in the RC community.

Our space is currently closed, and we're running all upcoming batches online. The following information pertains to our physical space, and we've left it here because it provides useful context for people joining a remote batch of RC.

Read more about how we're running RC online.


We are committed to hosting social events that better fit into a family schedule. Specifically:

  • For all official RC events, even if the event isn’t +1 friendly you are welcome to bring your child/children, and to bring another trusted adult as well to help with child care at the event.
  • We have added more social events to our regular retreat schedule that are either earlier in the evening or on weekends, such as daytime picnics, trips to museums, and early evening art nights.

Children at RC

RC is typically closed to non-Recursers, except for specific events. However, if you have a child, you are welcome to bring them in to RC during the daytime under the following circumstances:

  • On school closure days (e.g. holidays, snow days)
  • If your infant is under 6 months old

We expect you to stay with your child while they’re at RC, and to take full responsibility for looking after them, as we aren’t able to have childcare providers on staff for Recursers or childcare on the premises. Please avoid the areas designated as quiet/silent work areas, and feel free to use Lovelace, the lactation room on the 5th floor, if you need. Please let us know in advance to be expecting you.

Wellness Room & Facilities

We have a small private room that can be used for lactation. It can also be a space to use when you need a quiet moment with your child (e.g. to feed them, or calm them down if they’re upset). This room has a mini fridge, a couch, curtains, and is equipped with some basic cleaning supplies and toiletries. It locks from the inside.

The priority for this room goes to nursing/pumping, and to parents with kids at RC. If you’re in the room and a parent needs it for some reason, please make it available to them. Other than lactation/child care, this room can be used by individuals on a short time-frame (less than 1 hour), for things like meditation. Please do not use this room for programming, work, phone calls, sleeping, or eating.

We are also installing a changing table in one of our 5th floor restrooms (closest to the lactation room).

Other resources

Editor's note

This section of the User's Manual has been modified for public release. In it, we talk about the various software and services we use to communicate. We've excluded the details because they don't give substantial insight into how the Recurse Center works and could conceivably cause headaches for us if they are revealed. We've included a summary below.

Virtual RC

Since we're running all upcoming batches remotely, we're using Virtual RC as a replacement for our space. Virtual RC is a map of our physical space that allows Recursers to easily join video calls so they can pair program, program quietly, or attend events. It shows who's online, who's currently attending an event, and what Recursers are working on.


We use Zulip, an open source chat service, for real-time chat. It's great for asking questions, getting code review, organizing lunch chats, etc. If you're just getting started, you'll be shown a quick-start tutorial to get you up to speed.


Everyone who attends the Recurse Center has access to Community, a private discussion forum for Recursers. Community is used for announcements, discussion, and social events.

Sharing guidelines

Zulip and Community are private. The only people with access are RC faculty and members of the RC community. Content is not publicly searchable. While they may be online, these conversations are akin to private talk amongst friends. Please get explicit permission before you share things people write on Zulip or Community outside of RC. You're welcome to share links to public content (e.g. a link to someone's blog post).


Editor's note

This section contains links for Recursers to apply to do an additional batch and to recommend applicants.

Contact information & employee hours

Editor's note

This section contains the email addresses and phone numbers for all Recurse Center employees, and is only visible to members of the Recurse Center community.

A brief history of the Recurse Center

  1. Fall 2006. Nick and Dave meet during their Signals & Systems class.
  2. Summer 2007. Nick and Sonali meet at Shakespeare in the Park (Sonali is friends with one of Nick's coworkers).
  3. Spring 2008. Nick and Dave begin having "business meetings" after work to discuss starting a company.
  4. May 2010. Nick and Dave quit their programming jobs to start "OkCupid for jobs".
  5. June to October 2010. Nick and Dave live in Mountain View, CA and do Y Combinator. Paul Graham calls them "self-indulgent" for wanting to move back to New York.
  6. Fall 2010. Sonali starts working with Nick and Dave on weekends.
  7. February 2011. Sonali leaves her cushy corporate job and salary to join the team full-time!
  8. June 2011. Dave has a long talk with Paul Graham, Sam Altman and Paul Buchheit about a "school for hackers" and returns to New York ecstatic about the idea. We invite a small group of people to be part of an experiment called "hacker school" (we didn't capitalize it because we considered the name temporary – we weren't sure how we felt about calling it a "school").
  9. July 16, 2011. A third of the people who committed to doing the batch drop out two days before the start.
  10. July 18, 2011. The first day of "Batch[0]" (aka the summer 2011 batch). The batch has only nine people including Nick, Dave, and Sonali, and is five weeks long. It's hosted in a small room at NYU with no windows. Alan is a Hacker Schooler and tries to explain monads to a very confused Nick and Dave. Sonali is the only woman.
  11. August 2011. John "workmajj" Workman suggests "Never graduate" as Hacker School's informal motto.
  12. September 2011. The second batch begins. We're hosted at Spotify in a slightly larger room with no windows.
  13. February 2012. The third batch begins with 20 Hacker Schoolers; Tom is among them. The batch is hosted at The Huffington Post. Danielle Sucher becomes the first Hacker School alumna.
  14. May 2012. We hire Tom and Alan as contractors to help facilitate the summer batch.
  15. June 2012. The summer batch begins with 53 Hacker Schoolers, among them are Allison, Zach and Mary. The batch is 45% women, and is hosted at Etsy.
  16. August 2012. Tom and Alan become regular employees and are joined by Zach and Allison.
  17. October 2012. Jessica McKellar, Peter Seibel, Alex Payne, Stefan Karpinski, and David Nolen are the first Residents.
  18. February 2013. We get our own space in Manhattan! The US government agrees that Mary is "extraordinary" and grants her a work visa.
  19. September 2013. We move to an nicer space with lots of natural light and no fruit flies.
  20. May 2014. To encourage traditions to persist from batch to batch, we move to overlapping batches.
  21. June 2014. We hire our first dedicated operations person, Rachel.
  22. November 2014. Allison goes west to join Dropbox: An unusual goodbye.
  23. March 2015. We change our name from Hacker School to the Recurse Center.
  24. May 2015. Michael Nielsen joins the Recurse Center to help build a research lab.
  25. August 2015. Allie (W'13) and John (S'11) join RC as facilitators; Nancy joins as our first full-time Jobs Counselor.
  26. March 2016. Allie and John transition to our dev team. James (S'13) and Lisa (S'12) join RC as facilitators.
  27. June 2016. Rose (W'14) joins RC as a facilitator.
  28. September 2016. Allie moves on to work at Etsy, and John starts a new job at Eave. Lisa moves west and joins Pluot.
  29. February 2017. Rose leaves RC. James begins transitioning into a new role with more focus on making improvements to the Retreat.
  30. March 2017. Zach moves out of New York, and becomes our first remote employee. We relaunch our website with a snazzy new design.
  31. July 2017. Alicia (F1'15, F1'16) joins RC as a facilitator.
  32. January 2018. We introduce one-week mini retreats.
  33. September 2018. We move to a bigger space in Downtown Brooklyn.
  34. March 2020. We temporarily close our space and switch to running batches remotely for the first time due to COVID-19.
  35. August 2020. We decide to continue running remote batches for the foreseeable future, including when we're able to reopen our space.


Yusuke Matsubara has written a Japanese translation of the User's Manual with the Recurse Center's permission. Thanks, Yusuke!


  1. – Initial public release.
  2. – Flesh out social rules.
  3. – Add contact information.
  4. – Add advice on text editors.
  5. – Add description of policy for space and modified guest policy.
  6. – Use "Hacker Schooler" instead of "student." More updates to guest policy.
  7. – Add translations section
  8. – Change fourth rule from "No subtle sexism" to "No subtle -isms" and flesh out explanation.
  9. – Remove ableist language. Update history of Hacker School.
  10. – Update with details of new mailing list system.
  11. – Add Rachel. Add struggles section.
  12. – Update with details of Community, which has replaced the mailing lists.
  13. – Additional notes for internal perks section.
  14. – Update references to Hacker School and Hacker Schoolers to the Recurse Center and Recursers.
  15. – Add Allie, John, and Nancy; update history.
  16. – Add Residents section. Publicly link to Zulip.
  17. – Add more information about the space; fix outdated jobs section.
  18. – Add Admissions section.
  19. – Add research lab note to guest policy.
  20. – Add Lisa and James.
  21. – Add Facilitators section.
  22. – Update facilities info for phone booth revamp & space reorg.
  23. – Add Rose; update history.
  24. – Update guest policy to cover +1-friendly events and RC employees' families
  25. – Update history, mail policy
  26. – Add noise and volume level section
  27. – Clarify when to host social events
  28. – Add code of conduct
  29. – Add Alicia; remove Zach
  30. – Update advice section
  31. – Add Alumni Nights
  32. – Add note and link to the Issue tracker
  33. – Update to include mini retreats
  34. – Improvements to jobs and recruiting section; update history
  35. – Update to strengthen and include Zulip in sharing guidelines
  36. – Update address, remove references to 455 Broadway
  37. – Small updates reflecting changes in space usage
  38. – Add family-friendly policies
  39. – Add Mai's contact info
  40. – Add RC employees' schedules
  41. – Remove some unneeded details leftover from old space and practices.
  42. – Add information about Virtual RC, notes about our temporary space closure.
  43. – Add information about long-term remote batches and Virtual RC.