My Experience at The Recurse Center

by Marco - (7 min read)

The Recurse Center is this magical place where hours fly by, and you can be as distracted or as focused as you choose to be. It's composed of two nice floors of a building in downtown Brooklyn. They provide a space where you can progress on your own programming specific goals at your own self direction.

Some of my best friends are RCers. All of them really enjoyed their time at RC, and would recommend it to anyone who would listen. With glowing praise from people I deeply respect, how could I not give it a try? It also helped that I had a friend and former co-worker (Fred) applying for a week long batch as well.

Initially I was skeptical about it. It also seemed like quite a bit of work. I spent days on their "What do you want to be doing in 2 years question"; I'd have to do two interviews; and I'd have to figure out living logistics. Given those hurdles I was skeptical of what the benefit of the program would be. Despite my skepticism I decided to trust my friends. Well... Truthfully Fred nudged me along, and I'm very glad he did.

The Mini Batch. (1 Week long program)

The mini batch seems like a strategy to bring in folks who cannot be in NYC for 6 or 12 weeks or are not ready for that level of commitment (That's me!). It felt much shorter than I was expecting (and I was expecting it to be short). Every day of the week puts you 20% closer to the end of the program! After seeing how fast a week goes by, 6 and 12 weeks don't seem so long.

What's special about The Recurse Center

The project I worked on is something I've been toying with in my mind for a while. I even wrote a couple toy implementations that never got fleshed out. I've been toying with the idea for at least 4 months, and hadn't made much progress. After a week at RC, however, starting from scratch, I'd already gotten much farther than ever before. I believe it was a combination of a couple things at RC.

  1. You can spend your time programming on your own projects (and people will think that's neat)
    • Contrast this with most places where the external pressures ask:
      • At home: "What are you doing that for? Is it for work? Oh, It isn't? Okay."
      • On Vacation: "Why are you on your computer when you could be outside exploring?"
      • Hackathon: "What are you working on? How is going to make us two boat loads of money?"
  2. A social space and quiet space.
    • The Recurse Center has two floors. A quiet floor (imagine a less strict library) and an active/social floor (where people talk freely, express freely, and openly invite each other to pair program something with them.). I think this is really important and, thinking back to previous jobs, I think it would be a great addition to any company with enough programmers. Sometimes I want to talk to people, and be interrupted, and pair with someone; but sometimes I just want to sit down, uninterrupted, and get lost in my problem space and thoughts.
  3. Diversity.
    1. The diversity in the people who attend.
      • Being at RC lets me preview a world where our industry is more inclusive and diverse.
      • People with different backgrounds bring different thoughts and potential solutions.
      • A monoculture of ideas is a recipe for stagnation. Team work objectively leads to better solutions.
    2. The diversity in the knowledge backgrounds.
      • Quick example: Imagine you want to know how VGA character buffers work, you can find someone who spent at least a week studying it in a matter of minutes.
      • You can get pleasantly side-tracked with someone else's rabbit hole.
      • You can explore the limits of your knowledge when explaining things you thought you understood to people who are genuinely curious!
  4. Not a startup incubator
    • I used to go to hackathons because I liked the idea of building something fun with friends. I stopped going because it turned into a competition to see which one of these 48 hour projects can become the next unicorn startup. (Incidentally, Brian and I started our own hackathon we call the Dumbathon which tries to find the original spirit of the hackathon.)
    • At RC, no one ever asks "How are you going to make money off this?" If all you end up after your batch is a deeper understanding of problems that interest you, then you've had a successful time there and no one will tell you differently.
  5. Lightweight Social Rules.
    • Interacting with a lot of new people is hard. RC has 4 lightweight social rules to help people be nice to each other. On top of that, there's an understanding that everyone here is clever and everyone is here because they truly want to be here. That level of commitment isn't common in most interactions. The combination of those two things make it a joy to interact with other RCers in the space and get lost talking about your programming project or hearing about their recent problems.

Why I think you should do it

It may seem selfish or purely indulgent to take away time from your life to go to a programmer's retreat, it isn't. Take history's most selfless person, The Buddha. He dedicated his life to reducing the suffering of those around him. One lesser know story about The Buddha is that he would have 3 month retreats yearly where he and his disciples could refocus and reinvest their energies. I tell this anecdote not to liken us to The Buddha, but to point out that the prototypical selfless person found these retreats useful.

I think in the daily grind it's easy to loose sight of the things that matter to you. Often when at a normal job, your goals of growth and learning don't align with the bottom line of the business. That's okay, but it's very nice to be able to step back and re-hone your tool set.

My Project

In a week, I built an Android UI Library for Rust. I am proud of it, and I'll have another post that details it at length.