Recurse Center

Surprise and self-discovery: Victoria and Jordan’s sabbaticals at RC

Sydney Lefevre

Having established that you don’t need to abscond to a faraway beach to take a break to explore your interests, you might wonder: Who really comes to RC on a sabbatical? What do they do when they’re here? And, what happens after: how do you keep growing when you already have years of experience under your belt? I spoke with two alums who came to RC for a professional break about what they wanted out of RC, how their batch actually unfolded, and the impact it’s had on their lives since then.

Applying to RC: How it started

Victoria Kirst came to RC in 2017. She‘d been teaching at Stanford after working as an engineer at Google for a few years, and she wasn’t sure if she wanted to keep teaching or go back to programming full-time. The school year kept her too busy to take time to think and explore her options, so her summer break was an opportunity to step back and reflect. When she applied to RC, she wrote:

“I would love to spend my summer learning and growing as a programmer. I love coding and building things, but in the past, I’ve limited the scope of my projects (outside of work) to simple projects that I can code quickly. This summer, I’d love to tackle something more ambitious using tech I’ve never used before. The Recurse Center seems like an ideal environment in which I could push myself to create cool things and stretch my technical skills.”

Jordan Killpack came to RC in early 2022. At the time, she was working as a Staff Engineer at Mailchimp and was feeling adrift. She knew she wanted to have a bigger impact at work, which didn’t seem feasible after Mailchimp was acquired by a much larger company. After taking a couple of months off on her own, she realized she needed more structure. She’d heard about RC through her network, but it never made sense to uproot her life to move to New York for three months. Since RC started offering remote batches, she said, “the stars aligned for me.” In her application, she explained:

“I want to rekindle my love of programming. My most recent job involved a massive, creaky code base that struck fear in the hearts of many of my coworkers. Working on it greatly sapped my enthusiasm. (That said, I did find joy in solving mysteries in the code base– What is this doing? How long has it been doing that? Did we mean for it do this at all?– and in deleting vast swaths of superstitious code.)
I want to take some time to learn things just for the heck of it, in ways I can’t when I have a problem someone’s paying me to solve. I think the combination of this and being around other ravenously curious people will help reignite my spark.

Coming to RC: Space to explore your interests

I caught up with Victoria and Jordan recently to chat about how their time at RC impacted their lives. They walked me through what they did during their batches, and what they learned from the experience.

When Jordan came to RC, she thought she might work with Elixir, and “had some ideas about doing things to facilitate whatever vague career move I wanted to make.” But she said she changed direction quickly. “The first week, the faculty were like, ‘do what is exciting to you instead of what you think you should be doing!’”

Jordan took this advice to heart and applied it over the course of her time at RC. “I started by trying to connect other interests I had that were not related to computers — for example, I thought it would be cool to make a tool to help me plan weaving projects. I dropped that pretty quickly when it became more of a design problem than a technology problem and it felt like I’d gotten as much juice as I wanted out of that.”

She worked on security hacking challenges, which felt like fun puzzles, and later built an operating system in Rust since she didn’t have experience with operating systems and wanted to tackle a meaty project. Everything she worked on was new to her, and none of it was what she expected to do coming in.

Victoria also found RC to be a time of surprise and self-discovery. She said she had a “classic” RC experience: “I did have something specific in mind and then completely changed what I actually did. Originally I thought I should learn about machine learning and AI. But one of the things I got the most out of at RC is that when I was in that space of choosing what I wanted to do, I found myself being drawn to very different things.” During her batch, Victoria ended up exploring generative art and building a multiplayer game, which helped her learn more about real-time communication and exposed her to technologies she hadn’t used before.

In addition to new technical challenges, Victoria shared that “the entire summer was a surprise. With more space, a lot of things became clear. I assumed that I wasn’t that interested in building stuff when I became a teacher, but at RC I realized it was other factors that had gotten me super down. Microaggressions and sexism affected me and made me think I didn’t like the field. But, in a supportive environment where I was able to build things that were fulfilling to me, I realized I really loved building stuff in a really wonderful way.

After RC: How it’s going

The time and space to follow their interests at RC and make decisions about their own work further empowered Victoria and Jordan to make positive changes in their careers. After their batches, both of them found new jobs: Jordan joined a much smaller company where she could have the impact she wanted, and Victoria left her job at Stanford to return to software engineering full-time.

Victoria said, “I’d done so much reflection in a supportive environment. I didn’t know I needed it, and I didn’t realize this environment would be so conducive to that.” She realized something at RC that has helped her build her career with more intention. “One of the main theses that I have is that I care a lot about what I’m doing and why. If I am in an environment or project that’s not a fit for me, that hugely affects my happiness. My career arc has been an iterative process of trying to find what I want to do with my career, life, and technology.

Since her time at RC, she’s worked at Google on a virtual reality project and in a leadership role at Glitch, and she now works at The Browser Company as an engineer. She decided to shift to an IC role because “in some ways, I wanted an ‘RC moment’ to take a step back again and try working on something engaging while also giving myself space to do self-discovery and make time for creative outlets.”

Jordan took a job at Oso, an authorization-as-a-service platform. She said that her time at RC helped her think about the kind of role and environment she wanted to be in next. “Paying attention to what it is that you want, versus what you think you should want — or what somebody else wants you to do — led me to the company I’m working for now. Upon reflection, I wanted a place that was small, where I could have a big direct impact and get my hands dirty doing a bunch of different kinds of things. And that’s definitely been the case. Remembering that I have agency in the world was a big takeaway from RC.”

Victoria and Jordan came to RC years apart, but walked away with something similar: a renewed and powerful sense of agency. Giving yourself the space the follow your curiosity and investigate the how and why of your work can positively impact every aspect of your life.

Thank you to both Victoria and Jordan for taking the time to share their experiences! If you enjoyed reading about their journeys, and want to take some time at RC to explore your own interests, I hope you consider applying to one of our upcoming batches.

Sabbaticals for the rest of us

Mai Schwartz

The word “sabbatical” often evokes either a professor deep in a distant dusty archive or someone relaxing on a beautiful beach. But while in theory you could throw your phone in the trash, get bangs, and move to Bali, most of us can’t just walk away from our lives. Dropping everything to do self-exploration isn’t realistic, affordable, or even attractive to most people, but you don’t need to sever ties or renounce society to take a sabbatical. You don’t even necessarily have to leave your house.

A sabbatical is really just a period of time you set aside to explore new ideas without being beholden to a specific outcome. It’s not a vacation or a cure for burnout (although it can help you clarify why you’re burned out), and you don’t need to have an existential crisis to qualify. Maybe you’ve maxed out the learning and growing you can do at your job, or maybe a side project is outgrowing the free time you have for it. Maybe you lost your job in a reorg or layoff, and you’re not quite ready to look for another one. A sabbatical can be a time to explore at your own pace and think about what you’d like to do going forward.

This post is about how to think through whether a sabbatical is right for you, when you should take one, and what taking your sabbatical at RC can offer you.

To state our biases upfront: we think that anyone can benefit from a sabbatical and that if you’re a programmer RC is a particularly good place to do it.

Why would you take a sabbatical?

You might associate sabbaticals with tenured professors or senior executives, but anyone can take one and there’s no minimum level of experience or salary at which you suddenly deserve it. You also don’t need to have a world-changing idea. A sabbatical is a chance for you take the time for yourself to explore what’s fun and interesting to you. Give yourself permission to follow your curiosity, even if it’s not clear where it will lead.

Taking a break from paid work to take a sabbatical may seem like a luxury, but it’s actually an investment: in yourself and your knowledge and skills, and also in your very capacity to learn on your own. At RC, we call your ability to direct yourself your volitional muscles and we think growing them is one of the most valuable things you can do.

Building your volitional muscles means following your own intrinsic motivations, rather than external pressures or fears. It means doing the work that excites you, rather than the work you must force yourself to do. It means asking yourself what do I really want to do? and then doing that. Making those decisions for yourself is a skill that gets easier with practice.

Taking a break to do this kind of intentional reflection is valuable not just for programming, but also for thinking about your life more broadly. A sabbatical can help you rediscover what you deeply care about, independent of what your family, financial necessity, or society at large might pressure you to do. A sabbatical can expand your idea of what’s possible and of what choices are in your power to make.

When and how should you take a sabbatical?

You can take a sabbatical wherever you are, whenever you’re ready. Maybe you’re an IC with a passion project, or a manager who wants to dive back into the nitty gritty. Maybe your job has sapped your enthusiasm, and you’re ready to reignite your love of programming and learn things that no one wants to pay you for. It might be time to take a sabbatical if:

  • you’ve taken advantage of all the opportunities to learn and grow in your current role, and you’re still hungry for more challenges
  • you want to write software where the architecture, language, tradeoffs, and more are determined by your curiosity, not their business value
  • you want to learn or build things for the fun of it
  • you have a side project you’re so excited about that it keeps taking up more of your time and attention, and your loved ones have been complaining that you spend too much of your spare time programming…

There’s no one way to take a sabbatical. Logistical considerations vary a lot and are addressed in our FAQ and User’s Manual. If you’re ready to take a sabbatical but you’re not sure what exactly your sabbatical should look like, that’s okay! Start thinking about something you’re interested in learning or building, and don’t discount the importance of it. You can act as though your ideas matter before you fully believe it.

When I first started working as a facilitator at RC, I thought most people needed help going easier on themselves. I’ve come to believe it’s the opposite: people underestimate themselves and need encouragement to take their own work and ideas seriously. I still regularly remind Recursers to be kind to themselves, but now I also say that one of the most important ways to be kind to yourself is to not sell yourself short.

Think about what conditions your ideas need to grow, and cultivate those conditions around you. This generally means devoting some combination of time, energy, and attention to them. It can also mean changing your environment to support your work or investing money in relevant tools, but it doesn’t have to. And at some point, it’ll likely mean sharing your work with other people.

Why sabbatical at RC?

As RC alum Allie Jones said: “The thing RC kind of teaches you is that you can figure anything out, given enough time.” At RC, you have the time, space, and support not only to dive deep into concepts you thought were beyond you, but also the freedom to figure out what you actually care about and what you can say no to in order to focus on it. It’s an open invitation to do the best work of your life, in a community of others doing the same thing.

RC provides lightweight structure and dedicated time and space to work on your projects without external pressures or deadlines. Doing your sabbatical at RC also means you’re not alone. You’ll be surrounded by kind, curious programmers who are all choosing to push themselves to grow, and you’ll have the support of a community with a high degree of intellectual ambition and a high degree of psychological safety — many environments have one or the other, but not both.

What’s your biggest programming dream? What’s the project that’s been itching at the back of your mind and won’t let you go? What’s the most ambitious thing you would learn or build if you really had time to focus on it? Tell us about it when you’re ready to apply!

Jimmy Li: Law School to Software Engineering to Tech Lead

Sydney Lefevre

This is a continuation of our series exploring the paths that Recursers take to RC, what they do during their batch, and what happens after.

Jimmy came to RC for the first time in 2011, and for a second time in 2013. He currently works as a Technical Lead Manager at Google.

Jimmy Li

Here is Jimmy’s story:

Before RC

I took one programming class in college - I enjoyed it, but for various reasons was discouraged from doing any more than just one class. I don’t really count that as the beginning though; the beginning was in the summer of 2011, right when I was in between the first and second years of law school. My law school classmate and I had a start-up idea that we got overly excited about, and we couldn’t find anyone who was willing to help us code a prototype. I remembered enjoying programming back in college, so I said, “Let me see if I can learn enough to cobble something together,” and so I started coding that summer.

Pretty soon, I became less interested in the start-up idea and more interested in the coding itself. I was on a legal internship that summer and I found that most of the day I would just spend coding rather than doing my job. I went back to law school for the Fall of my second year, and I continued to ignore what I was supposed to do and instead coded on stuff, and I guess a small part of my brain was thinking, “Maybe I should do this for a living,” but I wasn’t sure how that would work out.

Very serendipitously, I went to a YCombinator event in New York, and Hacker School (as RC was then called) was there. I went to that event to ostensibly pitch the idea that my friend and I had. But, I was already giving up on that idea so instead I went around asking if folks needed volunteer coding help. I realized I could only go so far programming by myself in the law school library, surrounded by people who had no interest in this stuff. I needed some sort of community, I needed to be in a group that cared about programming. So, my thought was to try and be a volunteer coder because I wasn’t good enough to be paid. Eventually, a couple of different folks asked if I’d spoken to the people from Hacker School.

I still remember the conversation really well. Nick and Dave were like, “Wow, you seem really enthusiastic” — and I was. They were, in a very generous way, willing to give me a chance even though I hadn’t gone through the application and interview process. This was the day before the second batch was about to start. They said, “Come to the Spotify office tomorrow, and if there’s a physical seat for you, you’re in!”

During RC

It was a whirlwind three months because I was in law school at Yale at the same time, and I ended up taking Metro North three days a week. At the time, RC was Monday, Tuesday, Thursday, and Saturday, so I’d take the train up Monday, crash on a friend’s couch in NYC Monday night, come back Thursday, and come back Saturday. I took that train a lot — two hours both ways. It was definitely one of the most thrilling three month periods of my life, without question. I’d continue coding or reading books like The Little Schemer on the train.

In addition to the amazing amount of programming that I learned from people in this atmosphere of curiosity and passion, this desire to learn and this inquisitiveness was ignited in me in a way that it never had been before.

In my first batch, I focused on one project for 80% of my time there. The project was an improved course selection site for my law school classmates. Basically, when students at my law school picked classes it was very painful, and if you wanted to figure out what classes would fit into an open block on a Thursday, you had to do CTRL-F for capital T, lowercase h for Thursday. This was a problem I could help fix, so I learned how to scrape the data, put it into a database, set up the frontend with the ability to search and sort and filter – basically I built this full-stack web application. One of the many things that got me into programming professionally, in addition to loving the actual practice of programming, was that I picked this nice starter project: I was able to launch this to my classmates and they loved it! It was awesome to sit in a law school classroom and see my classmates using it on their laptops in the desks in front of me. I’d never felt like I’d provided value for people in such a clear manner, and that was pretty exhilarating.

Talking to all the other Recursers and people like Nick and Sonali, I realized that it wasn’t too late for me to try to get into programming. At that time, I didn’t have many examples of folks who were self-taught and didn’t have a CS degree, and talking with the folks at RC was definitely eye-opening. I also changed my overall philosophy about learning. Before that, I’d given way too much weight to learning in a formal classroom setting.

I feel like there are so many advantages to learning on your own — not only is it possible, but in many ways it’s better. I think this helped set off a lifelong practice of learning.

After his first batch

After my first batch, I did the interview circuit guided by RC, and also did some interviews outside of what RC set up for me, and I ended up taking an apprenticeship with Pivotal Labs that converted into a full-time job. I went to SF to do that, and then I got a job offer from Codecademy, and decided to take that since I was a big believer in people learning how to code. I worked at Codecademy as one of the early engineers for a little over a year, and then right after that I went back to RC.

I was at another transition point in my life where I decided I was going to finish my last year of law school, and I wanted to tap into that feeling of why I love coding. Working as a coder brought to my attention that there are aspects of the professional practice that don’t quite have the Disneyland quality of RC. Something that continued to be hard for me as a coder was the aspect of coding that involves reading the manual and figuring out how some of the details work. I enjoy thinking about stuff at a conceptual level and problem solving, but I hate setting up IKEA furniture. That didn’t really get much better for me — it continued to be a problem!

During his second batch at RC

When I went back to RC, it was a bigger group. It was like 40 or 50 people instead of 10 or 12 people; it was harder to get to know everyone, but it was a nice group and I was able to forge great connections as well, despite the size.

I also approached it differently in terms of what I spent my time on. I spent my time learning a broader array of things instead of working on one large project. I did a handful of smaller things - I built a JavaScript game, I built a simulation of Conway’s Game of Life and worked through SICP. My mindset was also different: the first time around I had such a clear goal of getting decent at programming, and the second time around I wasn’t sure what I wanted out of it. But, I did succeed at reigniting some of that love of learning.

After his second batch

After that, I went back to law school to finish my last year. I kept programming and I ended up taking a job in DC working for an analytics company called Blue Labs that helps Democrats. It occurred to me that programming is about a lot of things in addition to the things I love. The things I love are problem solving and learning how things work — the kind of things you get in classrooms and you talk a lot about at RC. When you’re a professional, it also involves meetings, and again, reading the manual on some other person’s code and learning how to use it. I was thinking, do I have the temperament, the patience, the attention to detail to be a programmer for the next 40 years? I started to doubt that, and I thought being a product manager would be a sweet spot for me where I’d still be in tech and get to talk to programmers, and help solve problems. I gave that a try, and was a product manager in a medium-sized company, but there wasn’t as much problem solving as I thought.

I decided I’d have the courage to go back into programming, get better at the aspects I didn’t think I was good at, and understand that as a whole, programming is still the best job given my interests and skills. I recommitted, with my wife’s help, and we decided to move to California. I did the interview circuit, and decided to work at Google and have been there since 2017. I started working as a frontend engineer on the Chat team, and then two years in I switched to the Health part of Google. I worked full-stack, and then in the last year and a half I’ve been a Technical Lead Manager, and I lead a small team and have a small number of people report to me.

To keep learning, I read, I watch YouTube videos, and talk with coworkers, and we have a weekly meeting where we share something that we learned recently that we think is cool. I occasionally do a Coursera course, or follow resources from Bradfield School of Computer Science.

RC is such a special place of learning and curiosity. It’s better than most of the formal educational institutions I was a part of. In those places, even with the quality of instructors and the research caliber, that spirit of wanting to learn and figuring stuff out on your own, and taking your learning by the horns, I never found that anywhere else. It’s a very intoxicating feeling and group to be a part of, and I’ve tried to chase some version of that ever since.

Bernie Snell: Sociology and Philosophy to Full-stack Engineer to Blockchain and Quantum Physics

This is a continuation of our series exploring the paths that Recursers take to RC, what they do during their batch, and what happens after.

Bernie came to RC in 2019, and is currently working on her own blockchain project after winning a hackathon and receiving funding.

Bernie Snell

Here is Bernie’s story:

Before RC

I did a bootcamp in 2017 after dropping out of a PhD in sociology and philosophy. I was disillusioned with academia and the job prospects were terrible. I also liked traveling, so it seemed like engineering could be a viable remote job. I’ve always enjoyed math and science, and I received a targeted ad for a coding bootcamp when I was trying to decide what to do instead of my PhD - since I’ve always loved learning, I decided to give it a go. I finished the bootcamp, and did a year and a half with the best job that I’d ever had, where I got exposed to lots of different areas of software development since we were building 3D visualization software. I did a lot of vector math, and it exposed me to deeper ideas in programming. That’s really how I knew programming was for me and I decided to stick with it, and it also sparked a fresh interest in math and science.

I’d been there a year and a half and I felt like I’d learned a lot already. But I wanted to learn a language that wasn’t just JavaScript/TypeScript, and I realized that for me to continue to develop as a software engineer, I needed to learn other fundamentals like memory management and functional programming. I looked for bootcamps for non-junior engineers (and there weren’t a lot out there), and for programs with scholarships for women, which is how I found the Recurse Center.

During RC

I wanted to learn Rust because it seemed like it would teach me a lot of the things I wanted to learn. I was also interested in blockchain because I’ve always been interested in redistributive economics, and it seemed like a radical way to create new economic systems. My idea was to try and build a blockchain in Rust, and that’s what I did. I spent the first half of RC learning the language, and doing the Cryptopals challenges with other people. My detours at RC were that I got really into cryptography, followed by quantum science and quantum computing.

I had the chance at RC to go deeper into the mathematical side of things, too – if you haven’t done that at university, you don’t get a lot of space to carve out time to learn something like that.

The quantum science detour was really profound for me: I realized that I was deeply interested in it, and it shaped the direction I’d take in the future. I don’t think I would have had that insight without attending RC.

After RC

Straight after RC, I worked as a blockchain engineer, but I left that after a few months because the culture didn’t sit right with me. After that experience, I thought that I’d had enough of blockchain – it’s a world that has lots of potential, but I felt like most people there didn’t share my value system, so I decided to do something else. I worked at Sketch for a while, and left that a few months ago to pursue a new direction, and that’s when I entered a hackathon. I decided I shouldn’t be squeezed out of blockchain and that instead I should be an active participant in creating the future, so I decided to give it another go.

I ended up winning the hackathon, which came with some funding to continue working on the project, which is what I’ve been doing since. It’s a project built on the Internet Computer – a blockchain where the networking layer of the internet is also decentralized, which offers a more interesting alternative to something like IPFS. The app that I’m building is a location-based chat app, and I am partly building it with the idea that people will use it for community organizing. I also decided to pursue my interest in quantum science by learning more of the foundations, so last year I started a second remote degree in mathematics and physics.

I often have a voice in my head which tells me: “You’re not a good enough developer to be able to do this sort of low-level programming or solve these kinds of problems…” And now I’ve learned to reject it, to just sit here with a problem and bang my head against it until I arrive at a solution - that’s all anybody does, and I’m just as capable.

That’s what I like to try to do: take on things that seem too difficult, break them down and then sit with them until I understand them.

The fact that I’ve managed to mostly be in really diverse spaces has really helped me in this regard. In my first job I was very lucky that my boss was a woman who was a really amazing developer. It was a diverse company in general, and it was so fulfilling to be in that environment. The bootcamp was also diverse, as was RC and Sketch. In a way, I think I’ve been insulated from some of the more toxic areas of tech, and I think that’s been really beneficial for my growth and my mentality; RC was a big part of that.

Anjana Vakil: Teacher to Computational Linguist to Software Engineer, Conference Speaker, and Developer Relations Consultant

This is a continuation of our series exploring the paths that Recursers take to RC, what they do during their batch, and what happens after.

Anjana is a developer relations consultant, and also speaks at conferences regularly on different programming topics. Some of her talks include: Learning Functional Programming with JavaScript, given at JSUnconf in 2016, Tail Call Optimization: The Musical!, given at !!Con in 2019, and Programming across paradigms, given at GOTO Chicago in 2017. She came to RC in 2015, and before her batch, completed a Master’s in Computational Linguistics.

Anjana Vakil

Here is Anjana’s story:

Before RC

How did I start programming? I dabbled in a few things - I had a blogger site back in the day and I would tweak the CSS and HTML templates, and as a kid I was exposed to HyperCard. I had been exposed to programming, but I didn’t really start coding until 2010; I had just quit my job as an English foreign language teacher, and I went into the library and found an O’Reilly series of books, Head First Programming. I spent the next year playing around a little bit in Python. I decided to go to grad school for computational linguistics, and that’s where I started coding as a regular thing.

We had one official coding course in Python, and other than that, I needed to write code to fulfill class assignments and to do research. Computational linguistics is an umbrella term that basically captures anything to do with the intersection of human natural language and computing — especially using computational methods in order to carry out linguistics research, and also develop technologies based on that to build things like speech recognition systems, language models for text prediction or natural language processing. I was writing primarily Python, but also had to work with other people’s code bases in the academic field in other languages. While I was working on all of this, I found that I really enjoyed building the code that I needed to do my research almost more than I enjoyed actually doing the research.

This was the beginning of my “abandonment” of the academic realm and instead getting really interested in software development. As a baby coder, I didn’t know how things were supposed to work. Many of these academic codebases didn’t use version control, and used really impenetrable variable names, and I started developing this sense that this couldn’t be how people actually build complex software systems, so that’s where I got interested in figuring out where I could go and learn more, and luckily I found out about this magical place, the Recurse Center, and that’s where I really learned to code. I found RC through one of those serendipitous internet things that can only happen when you are not looking for it at 3am. It was like, “This is a place where people can go and follow their curiosities and help each other learn.”

As an educator, I didn’t want a top-down “bucket filling/vessel filling” approach to learning. I thought it would be good for me to spend time intensively studying and then try to embark on a career as a software developer.

I really liked the fact that RC sounded like a genuine community of learners who were excited, and that there were career placement services - that was part of the reason I decided to go to RC instead of just jumping into the waters or doing an “official” course.

I was also fortunate enough to get funding because of the grant program for underrepresented folks — otherwise I wouldn’t have been able to attend because of my financial situation at the time.

During RC

I spent a good chunk of my batch learning what a programming paradigm is, and learning in particular about functional programming. I also started learning JavaScript, which was a language I hadn’t tried out much — it seemed like a useful addition to my repertoire. I was trying to build a multiplayer Set game in the browser with JavaScript in a functional style to learn all of these things at the same time (and web sockets, because let’s throw that into the mix!) I was also filling in plenty of the computer science gaps: doing algorithms, data structures, going through the interview prep books, and was starting to really look at contributing to open source software for the first time. I also built a toy programming language, Kimi (short for Keep It Minimal), and paired with Marijn Haverbeke to implement it based on a talk by another RC Resident, Prabhakar Ragde.

Discovering functional programming and that there were different paradigms, different ways of conceiving what a program is and what a programming language is, was probably the single most important learning for my career.

After RC

After leaving RC in late 2015, I went back to Germany and practiced for interviews. I got concrete guidance that Outreachy might be a good way to get some experience under my belt, and 6 months later I ended up doing a project through Outreachy at Mozilla. At the same time, I found out about tech conferences, and was able to get into some; April of 2016 was my first speaking opportunity, which happened to be at JS Unconf. Another member of my batch, Khalid, had proposed a talk about functional programming and decided he didn’t want to do it, so I asked him if I could wing it and do it, and I gave an impromptu talk about learning functional programming in JavaScript. A few months later it was put up on YouTube and hit a chord with people.

I learned that speaking at conferences is kind of like teaching, and if you apply to speak they will send you there and put you on stage and introduce you to a bunch of amazing people! Through speaking at conferences, I got every job I’ve had.

I ended up taking a job at Mapbox after their CTO reached out to me after seeing my talk, so I moved back to SF, and we carved out an interesting role where I was working in engineering Learning and Development. I ended up deciding to go back to engineering and worked on Mapbox GLJS, an open source project in WebGL.

After I left Mapbox, I started working for Observable as a developer advocate and learned more about D3 and data visualization. In June, I quit full-time work and since have been freelancing as a developer relations consultant – helping companies start up or scale their developer relations work.

I’m in this space where I’m really passionate about education - my time and connections that I made at RC which then led me into conferencing and the open source world really stood me in incredibly fortunate stead for finding different opportunities, and now I have a pretty large network of amazing folks who I know in the community who I feel really lucky to call friends.

I can’t underline how much RC was absolutely crucial to me breaking into a notoriously difficult industry without a formal degree in the area, and without the experience of coding since I was five. RC really made my tech career happen.

Johann Diedrick: Web Developer to Director of Engineering and Artist

This is a continuation of our series exploring the paths that Recursers take to RC, what they do during their batch, and what happens after.

Johann is the Director of Engineering at Somewhere Good and maintains an art practice working at the intersection of art and technology. He came to RC in 2020. Before his batch, he worked as a web developer and attended ITP.

Johann Diedrick

Here is Johann’s story:

Before RC

I got into programming through spending lots of time in AOL chat rooms when I was in middle school. People would make PROGz: these were chat room programs that allowed you to do different things by typing commands into the chat. I wanted to learn how to make one, so I made a music player using Visual Basic, and was able to get it to play music and shuffle through a playlist. My dad got me into electronics and computers generally speaking; he and I built computers, he built car stereo systems and all kinds of electronic projects, and that enmeshed me in electronic culture at the time. Being “born on the internet,” I’d do things like build and design websites and I didn’t think too much of it.

All of this felt like recreation, and not a career that I was going to pursue. I was more into science and biology, and I ended up getting into the University of Pennsylvania’s computational biology program which was my first introduction to programming in a formal setting. I ended up transferring out of engineering and into the college of arts and sciences. I was at a prestigious university and I thought I should be spending my time learning about ideas and thoughts and expressing myself, and figured I could always pursue a technical degree after I graduated.

I graduated and started working at an interactive media consultancy. I was a copywriter, and they found out that I knew how to code and make websites, and I fell into a junior web development role. At this point, I thought I should go back into engineering or pursue an arts practice that involved technology and music. I ended up at NYU’s ITP program, and it gave me a new way of inserting myself back into programming and computer science through a creative lens. I focused on programming while I was there, and even though it was like an MFA, I made sure to come out with strong programming experience, and tried to push myself as much as I could.

After ITP, I worked as a software engineer at the Metropolitan Museum of Art, and that felt like a progression of “working in the arts and programming”. Eventually, I didn’t feel satisfied; I felt stagnant in my career, skills, and things I wanted to pursue. I didn’t feel like I could jump jobs immediately because I didn’t have a CS degree; I could pass coding interviews, but not at the level of execution I wanted. I ended up applying for an artist residency at Pioneer Works, which prompted me to jump ship from the Met.

The residency was going to start in March of 2020, and I had three months beforehand to do whatever I wanted. I was talking with a friend about my plan to sit in my room for three months and read Cracking the Coding Interview, and he told me about the Recurse Center.

It seemed so curiosity driven: a perfect synergy of what I needed professionally and spiritually at the time. I was really excited to dive in, and I felt like I’d really found my people.

During RC

I was thinking about identity, race, power, and politics and what it means to show up in places. At the time, I was coming out of an unhealthy work environment that was making me feel very small, and when I got to RC, I remember I walked in on the first day and saw three masculine-presenting Black people in the room, and that was three more Black people than I ever saw in a room of programmers. I remember talking to one person and asking, “Is this real? Do you feel safe?” and they gave me an affirmative answer that felt very convincing.

Seeing the spectrum of identities at RC was really remarkable.

I wanted to spend my time at RC getting my CS fundamentals down, as well as at the intersection of art and programming. I was interested in audio machine learning, and doing lots of fun things with environmental sound classification, which led me to build a birdsong classifier. I went deep using a computing cluster at RC to do deep learning procedures. I met a crew of sound/music people and even went on a roadtrip to a conference with them. I was pretty heads-down while I was at RC - I had my head in the screen and had strong intentions about doing that, though I regret not socializing as much.

Everything was so well facilitated and managed, and I felt so supported. I did have some internal struggle thinking I could do more than I could in a day, and I had to learn what capacity is, what my capacity is, and to try not to burn myself out. I’m still learning that lesson! The batch transition was also hard for me - some people left whom I had gained familiarity with, and there was the feeling that there were “new kids”. The dynamic changed a lot in that moment. It does some nice things for you, though: having continuity across batches allows culture to persist and handing off of different clubs or activity groups or rituals is important.

After RC

I finished my batch at the beginning of the COVID-19 pandemic. I did my residency at Pioneer Works remotely for 3 months, and ended up working for Emergent Works, which was an education non-profit that worked with formerly incarcerated people to teach them to program and help them get engineering jobs. At the time, they’d started an agency side of the business where they’d have a senior engineer like me work with one of the junior engineers on client projects. It was really fulfilling.

I left that, and I was hired by a company called Somewhere Good, where I work as a Director of Engineering. It’s a social app where people can find different worlds around different interests and then have conversations inside of them via asynchronous voice notes. At RC, I got a lot better at programming. What it said on the tin was what I got. I started this job and I realized I was really good at it. I can do all of the things I’m asked to do and I want to do more.

I think RC was a huge reason for that. I felt like I got a lot better at programming, I got better at the fundamentals, and interviewing. I felt this new version of me as an engineer and programmer.

The art career is still going well - I’m not doing as much programming or audio classification but it’s flourished a lot. I also did some stuff with Mozilla last year around racial bias in speech recognition, and I feel like all of the audio machine learning stuff I did at RC came into play. A lot of fruit came out of all of the work I did at RC. It was very formative.

A dream of mine now is to build an education and art center somewhere; my partner and I have running notes on this, one of our models for this idea is an “Art Recurse.” I wonder what RC could be like for different creative practices? I think that there are lots of people who desire this kind of thing, but don’t know what it’s like or other spaces to do it outside of school.

Allie Jones: Textile Designer to Web Developer to Staff Engineer

This is a continuation of our series exploring the paths that Recursers take to RC, what they do during their batch, and what happens after.

Allie is a Staff Engineer at Etsy, and came to RC for a batch in 2013. They also worked as a facilitator at RC from 2015-2016. Before their RC batch, they worked in textile design, and as a graphic designer and web developer.

Allie Jones

Here is Allie’s story:

Before RC

I was always a kid that liked computers. I did the classic 90s online stuff, making fan websites for things that I liked and I got into modding video games. I didn’t realize it was programming!

In my teens I had the classic leaky tech pipeline experience: I was into art and technology and I got into a pre-college summer program and got to take programming classes. It was the exact thing that people talk about: I’m non-binary but at the time I was a “girl” in tech; no one was mean, but it was very clear that I was surprising and it was very weird that I was interested in it. I had never written C++ but everyone else in the class had, and they were like, “Oh, you don’t know how to write recursive code?!” Me and the one other girl in the class had to work together because the 16-year-old boys were not capable of collaborating. I didn’t want to spend another 4 years like this. Even the people running the class said, “I saw you can draw, are you sure you don’t want to do 3D graphics instead of programming?” I won their beginner programming competition, but if this was what getting a CS degree was like, I wanted to go to art school instead.

I studied textile design with a year of glass blowing. I worked as a textile designer in Bangalore, and when I came back to the US, there weren’t any textile jobs, but I got offered a job as a graphic designer at a sign shop. I worked there for 4 years, and realized that I could write code at least as well as the people they hired to do development work. Since it was a small business, I started doing it myself and after 2-3 years I was doing the whole website: the graphics side, building it, integrating WordPress CMSes, e-commerce, etc. I didn’t realize that this was supposed to be the job of 5 human beings.

That’s when I started looking for something like the Recurse Center - I realized that I liked this, and I was pretty sure that I had enough skills to make this a real career, but I didn’t know how to get from where I was to actually being a software engineer.

I didn’t know anyone in tech, and I needed someone to vouch for the fact that I could program. I asked my wife, “Would you care if I went to New York for three months to do this programming thing? I think it might help.” I don’t think she knew the snowball effect it was going to have.

During RC

I went into RC with preconceptions about what “real” programmers did. I interacted with people who I perceived as doing “real” programmer stuff — people in my batch were into Python and Julia and OCaml, and to them, my ability to build a UI that made sense or build a thing in the browser was really useful! They didn’t know how to do that at all and they’d come to me for help with making a UI look better. That was a huge confidence boost for me, and it made me feel comfortable. I became confident enough that I was a “real” programmer even though I wasn’t writing C. The last thing I built at RC was a multi-user whiteboard app that used web sockets in the browser and multiple people could log on and draw on the same canvas from different computers. That was definitely in the category of things that I would not have thought I was capable of making when I started my batch.

The thing RC kind of teaches you is that you can figure anything out, given enough time. Maybe it doesn’t always make sense to do that, but you could!

After RC

I work with a lot of newer engineers at my job, and I think people still get these messages about specific kinds of programming being less serious or less hardcore than others. Do the kind of programming you like, and don’t let sexism stop you. RC was the environment that let me gain confidence, and to describe that it was happening, and that the skills that I had were valuable and I did count as a programmer. I could hang out with people who are writing low-level web sockets code in C and they didn’t think that I was stupid or didn’t count. I was taken seriously, which was different than experiences I had in other computing communities.

Sometimes I can’t believe that this career happened - it seems very implausible. I’m unquestionably a professional software engineer at this point. Now I feel like I can go into less friendly technical spaces and do well and make space. Ten years later, I got promoted to Staff Engineer at Etsy and to me that was a big “I’ve made it” feeling. I enjoy having the technical clout backing to go into these spaces. I’m on the other side of the negative experiences that I had when trying to get into tech. It’s really meaningful to me to now have power and clout and I can make it go differently for the seventeen year old girl that I’m helping learn how to program, or the junior engineer on my team. It feels meaningful - it’s my own personal way to make things better.

I love knowing the RC community is there. In times when I want to get into a technical topic, or I have a specific question or when something’s come up at work and I’m looking for someone who shares technical expertise, it’s great to know that I have this network that’s out there waiting for me.

I have friends I met through RC and it’s been 10 years! I see RC as a pool of potential friends — it’s this group of people who share certain values and nerdy interests with me and it’s nice to know that there’s all those people out there and if I want to meet some new folks that I’ll probably get along with, they’re there.

Jiheh Ritterling: Business to Full-stack Engineer to Educational Game Developer

Sydney Lefevre

This is a continuation of our series exploring the paths that Recursers take to RC, what they do during their batch, and what happens after.

Jiheh is a developer at an educational games company, and recently received a grant to work on her own game. She came to the Recurse Center for a batch at the end of 2018 into 2019.

Jiheh Ritterling

Here is Jiheh’s story:

Before RC

I studied business and finance, but I quit jobs in that area because I was looking for more meaning. I was tutoring to make ends meet when a student helped me realize how powerful games are as a platform for sharing knowledge; harnessing this power became my new career mission. So, even before I started programming I knew games were where I wanted to be, but first I needed to build a foundation. I learned how to program at a bootcamp, and after that I was able to get a job as a software engineer at an ed-tech company for about two years. When I grew confident in my programming skills, I decided it was time to jump into the games industry.

During RC

One of my bootcamp friends went to Recurse, so I knew about it a couple of years before I applied. Since people come to study all different areas of programming, I thought it would be the perfect place to grow my game development skills. I worked with fellow Recurser, George, to make a web-based game in JavaScript called Paw Dyno; it’s a multiplayer typing game where you compete with other players to be the last one on the climbing wall.

Paw Dyno by Jiheh Ritterling

I also created a small Unity project by myself called In Plane View about a 2D character exploring a 3D world, shown only from the 2D perspective. I play-tested the demo at Recurse and received great, useful feedback!

In Plane View by Jiheh Ritterling

I also dabbled in a lot of other projects at Recurse: I learned a bit of machine learning, took part in the Advent of Code, and even joined a ZeroPhone project with others in my batch. It took a while to source all the pieces, and then the first solder turned out to be too small and difficult! I’m still carrying around the parts for one day when I learn a little bit more about electrical engineering, but it was still a really cool experience because I had absolutely no knowledge about hardware or soldering before RC.

That’s the beauty of Recurse. You may have interest in a lot of different areas, but it’s so difficult to start something on your own. But when you have someone else that’s passionate about a topic, and they spearhead a project where you can join and learn and grow together, it makes the journey so much better!

The hardest part of doing RC was focusing on what I actually came to learn. There are so many other cool projects going on and awesome people you want to get to know that you can easily get swept up in the first few weeks. Luckily, the batches shift in the middle and you realize: wow, half of my time here is already over! I need to focus! It took some effort to find the right balance between accomplishing the goals I had set for myself and enjoying my time with new friends and projects.

The biggest shift for me at RC was not actually related to what I was working on; instead, it had to do with the community and its inclusivity. Recurse was the first place where I was asked my pronouns.

Back then, I had not yet been in an environment that so actively encouraged everyone to voice out their differences and accept others as they were, and I saw first-hand how important this is to building a diverse yet strong community where each individual feels he/she/they belong. I learned how to be more open-minded and respectful during my time at RC and in my daily life afterwards!

After RC

There were Recursers from all over the world during my batch, and they inspired me to pursue moving to Europe - something I had thought about for a while. I added my game projects from RC to my portfolio and applied to every single game dev job listing in Europe that mentioned any of the programming skills that I had. I ended up getting an offer from MegaZebra in Munich, Germany working on casual games, and got my foot into the games industry like I had been hoping for when I started RC.

It was a small to mid-sized studio, so I learned about many different parts of running a game studio, including game development, DevOps, hiring, and more. After about a year and a half I had enough experience and savings to start working on my own game. I’ve been developing ISLAND_NAME_HERE - a puzzle adventure where you play as a game developer, which was awarded the Draknek New Voices grant this year!

ISLAND_NAME_HERE by Jiheh Ritterling

I also recently landed a Unity engineer position at Age of Learning, an educational games company that partners with a lot of schools throughout the US. As someone who started programming to make games that share knowledge, I’m living the dream with my current job and project. I’m so grateful for my time and learnings from Recurse, which allowed me to enter my current industry while learning new things and making lifelong friends.

Filippo Valsorda: Wikipedia Community Contributor to Cryptography Library Maintainer

Sydney Lefevre

This is a continuation of our series exploring the paths that Recursers take to RC, what they do during their batch, and what happens after.

Filippo is currently a Go cryptography library maintainer. He came to RC for two batches: his first was in 2013 after he finished high school, and his second was in 2017 after he’d worked on the cryptography team at Cloudflare.

Filippo Valsorda

Here is Filippo’s story:

Before RC

I started programming in the Wikipedia community; I started with templates—the community was super helpful and were there to help you figure out stuff. I graduated to building small JavaScript tools for the editors community to automate some of the encyclopedia maintenance tasks, and then eventually to bots in Python. I ended up maintaining an open source project, youtube-dl, and I was also interested in cryptography and security, but was self-taught. That was the programming experience I had when I joined RC the first time; I’d just finished high school (high school was not about programming and we barely ever saw a computer), and the Recurse Center sort of happened when I decided not to go to university.

During his first batch at RC

I saw RC on Hacker News. It resonated with finally having a community to learn programming in. At that point I had seen a total of one programmer in-person total, and having a lot of them around sounded appealing. In my application I talked about doing youtube-dl and some cryptography stuff, but I ended up doing a bunch of smaller things—in a sense it was a bit of a classic mistake! In another, it was actually a good way to use my time at RC because I ended up getting to know a lot of different people and exploring a lot of different topics by working on projects together. I did Iron Blogger, which was a tradition at the time, and I did Set 7 of the Cryptopals challenges, which dropped during my batch. I wanted to be the first one to finish these—I skipped dinner, I skipped that night, and I stayed around the space until very, very, very late. I think I finished them in thirty hours or something like that. I’m grateful that I had the space to do that because I think that’s something that gave me a lot of visibility for my career.

RC worked really well for me from the beginning. I’m not good at structured work, I like to chase whatever is shiny and interesting, and the Recurse Center was just the right amount of structure around me to be able to go and follow curiosity to where it would lead, and learn freely, and have people to discuss things with. It was just space and permission and company to learn and do projects and churn through interesting stuff.

After his first batch

After my first batch, I did some consulting and ended up having clients who had gone to RC—the network of alums and the community helped me get started. Then I got lucky with something: The Heartbleed Test, which I only knew how to make because another Recurser showed me Go during a random evening social. I kind of dismissed it at the time (I was excited because he was excited, but I didn’t really follow up on it), but then Heartbleed happened and I remembered that there was a TLS library in Go that should be easy to modify, so I used it to make a test for the vulnerability. That got very popular, and got me hired at Cloudflare.

I built a profile for myself, gave a lot of talks, and started to contribute to the Go project. I sort of burnt out a little. I left Cloudflare in 2017, and the first thing I thought was, “great! now I’ve got time for another batch.” Next steps: RC, obviously. In between jobs is a great time to do RC.

During Filippo’s second batch of RC

I came in with a bit too high of expectations for myself. I remembered how in the first batch I had done a lot of small things and I thought, “well, that was a waste—I should have used this chunk of time to work on a large, consistent project that I can see developed; you never get this much time to dedicate to a project.” Honestly, I think that analysis is wrong now!

Jobs will give you the opportunity to have to maintain a project; the Recurse Center gives you the freedom to NOT have to ship a large thing at the end of the batch.

As long as you have something to show at the end of the week on Friday about what you learned, I feel like you’re doing RC well, even if it has nothing to do with what you did the week before or the week before that.

The expectations I had set—wanting to deliver this large thing (I started out doing a Go implementation of the Tor protocol), to have spent my time well—now I see that’s not the right way to go about it. I’ve always said that changing your project after you start RC is a good sign. You should have a project you want to do before you start RC, and you should expect it will get tossed and you will end up doing something else that is interesting with other people. Now I understand that changing projects often is also fine: if that’s how your brain works and that’s how you learn and that’s how you follow curiosity, that’s totally ok!

After RC

After the second batch of RC, I got hired by Google to lead the security of the Go project. In a way, the road that led me there started at the RC party where that alum showed me Go! I left in May of this year, but I am still the maintainer of the cryptography libraries in the standard library, including the TLS stack. Now I’m trying to build a new model for professional open source maintainers to get paid to maintain critical pieces of open source that the ecosystem needs. The idea is working as a contractor for companies that need the ongoing maintenance to be sustainable and that benefit from having access to the maintainers, both as advisors and as a way to get input into the roadmap.

In 2019 I had had a project on the back-burner for a while: everyone was still using PGP for file encryption, and I wanted to build a better alternative, something easier to use and more secure. We ended up designing it in a couple days at Never Graduate Week 2019 with my friend and fellow Recurser Ben Cartwright-Cox. It’s now a very popular tool, age-encryption, and it’s only so easy to use thanks to Ben and that NGW.

The community to me is both a number of people with whom I kept a connection on a 1-1 basis as well as all of these connections that happen in other spaces and companies between people because we have the Recurse Center in common.

I can wear an RC pin at conferences and people will come up and be like “I’m from this batch!” I still show up for the Never Graduate weeks, even if they’re online they’re pretty great. I love the tooling that RC has built. !!Con, which uses the same tooling, is the only remote conference I ever attended that felt as exhausting as a real conference because of all of the interactions and people I got to talk to.

Something I like about RC is that there are people of all backgrounds there: on one hand, you get the people that are very junior who still know what it’s like to figure out something for the first time, and they can see what’s hard or easy to understand about a new project; on the other hand, you have people who have been in the industry 30 years and know font rendering inside out, and can tell you everything about how fonts have been rendered on all of the platforms because they have written half of the implementations and are taking a break from being a director at Google or something like that. Mixing that was definitely a lot of the value that I got from RC, from both sides of that interaction.

Dylan Nugent: Engineering Manager to Infrastructure Engineer

Caroline Grand

This is a continuation of our series exploring the paths that Recursers take to RC, what they do during their batch, and what happens after.

Dylan came to RC in the spring and summer of 2020 and now works as a Senior Software Engineer at Google.

Dylan Nugent

Here is Dylan’s story:

Before RC

I was interested in computers from a young age; they fascinated me. I messed around with making games when I was pretty young, and I was fortunate enough to go to a high school with a CS program. In college, I did a bit of volunteer system administration stuff, as well as studied computer science and had internships. I took the traditional path into software engineering I suppose!

Before Recurse, I was a manager of the data engineering team at a mid-sized start-up. I’d been in management for a little over a year at that point and I’d hit a point in my career where I was feeling like I was no longer doing things that deeply interested me. I didn’t remember why I wanted to do this in the first place: I was tired of it, it was super stressful, and I was generally burnt out. I’d heard about the Recurse Center two or three years earlier from colleagues at a prior company, and I wanted to refresh my programming skills and go back towards being an individual contributor, so I applied in September of 2019.

During RC

When I came to RC, I planned to work on a DNS server that I was writing from scratch, but something that I found really early on was that it was really fun and engaging to sit down with someone else and ask them what they were working on. Early in the batch, we started a networking club where we would meet every Friday and chat over different networking topics. I paired with a lot of people chasing down bugs, and I paired on one bug that ended up being a bug in Node itself.

In the first week of RC, I had conversations with an alum after presentations and realized that I was talking with someone who really knew what he was talking about. He had built the DNS infrastructure for Cloudflare, and made really interesting suggestions for things to experiment with and check out.

That conversation stuck out to me because I could have taken three months and worked in a vacuum in my bedroom, but I couldn’t have had spontaneous conversations with people like this, and I wouldn’t have known how to reach out and get that kind of knowledge.

I’ve been in other environments that have been learning-focused, like college, but it didn’t feel to me like this was a student/professor conversation or anything like that - it just felt like everyone was chatting about things they were interested in!

During those first few months of COVID I was in my apartment, and it was really good to still have an online community to chat with and to get support from. Everyone was obviously experiencing this dramatic shift in our lives at the exact same moment. The transition itself was rough, but there were the social activities and the support groups and things like that which actually were really helpful. On the programming front, I learned a lot about how to program remotely, collaboratively and it was a good period of time to learn what it meant to go fully remote.

After RC

I planned to go back into the software industry following RC, and using RC’s career services made sense.

RC’s career services are great - the process is very much unlike how applying to a job normally is. I had conversations about what I was interested in, and they put in a lot of effort into finding jobs that matched what I’d discussed.

RC’s career services doesn’t feel like a thing where you’re being pushed to take an offer. Everyone is supportive and helpful in trying to find the job that’s right for you no matter where that is.

Now I’m a software engineer on Google’s Speech Platforms Privacy team - we work on the data infrastructure that powers speech research for devices like Google Home, and also automatic captioning on Google Meet or YouTube. I still like learning by doing and sharing what I’m working on. That mechanism of explaining concepts is always a good way to learn, because in the process of explaining something, you have to understand it a little bit better. I haven’t done as much of that recently, but while at RC I did my first tech talk at a conference. A lot of what I do currently is reading things that spark curiosity, and I learn through work too, but most of my learning comes from outside of work.

I’m pretty active on Zulip and I keep in touch with a lot of the people whom I befriended during my batch, and I go to the NY-area social events.

Something about the size and selection of the RC Community, I feel like it never really feels like I don’t know who someone is at all. Conversations on Zulip have a tendency to be really good, and it’s really refreshing to have nice conversations around software stuff on the Internet with relative strangers.

There are a lot of websites that are notably not like that, but because the Recurse Community is a community of people who all value the same things, especially curiosity and kindness, and doing our best to be excellent to each other (to quote Bill and Ted), it works really well.

View older blog posts...