Recurse Center

Recurse Center

My Experience After Four Weeks

One lovely Friday evening in June 2022, I received the fantastic news that I had been accepted to Recurse Center (RC), a community-driven educational retreat for programmers. That night, I shed tears of joy. Today, a month later, I remain overjoyed! In this post, I discuss the details of my experience learning about RC, what the application process entailed, how I settled in as a Recurser, and a glimpse into a typical day for me at Virtual RC. If you are interested in applying to RC, please do not hesitate to reach out with any questions or for support through the process.

About RC

I learned about Recurse Center serendipitously while watching YouTube videos. One of the topics that I enjoy is desk set-ups. I came across a young woman named Bukola’s video. This led to watching more of her videos on another favorite topic of mine: apartment tours. At some point, I heard Bukola mention that she was a self-taught software engineer. I became intrigued, so I subscribed to her channel and watched more of her videos (a sneak peek into a future blog post--Bukola's story inspired me to pursue software engineering as a second career).

Bukola spoke in two videos about her experience at Recurse Center, and she interviewed another self-taught RC alumna Jhilene (you can watch a snippet of that interview, where they discuss RC, here). When the time came for me to seriously consider applying to RC myself, I rewatched these videos, read Jhilene’s blog, and many others about the application process, and visited RC’s website.

I learned that RC is not a bootcamp. It is, rather, comparable to a writing retreat. You need to know how to code, and you need to demonstrate a love of coding, to qualify. There are no formal courses and no set schedules at RC. Participants (Recursers) from a wide range of experience levels and backgrounds work on projects that are personally interesting. There are daily opportunities to share ideas and inspire each other through community-driven pair programming, coffee chats, interest group meetings, panel discussions, and social events.

I also learned that RC is not only free, but it offers living expense grants to members of underrepresented populations if they would not be able to attend the 12-week full batch (or six-week half-batch) without financial assistance. Additionally, RC offers career services. RC has a beautiful physical location in Brooklyn, New York, but as of March 2020, and until further notice, is running virtually through an awesome platform called Virtual RC. What I find the most intriguing and exciting about RC is its motto: “never graduate”. Alumni can always remain active members of the community!

The Application Process

The application process consists of three steps: a written application, a conversational interview, and a pair programming interview. You must be invited to move to the next step. I found the process to be very straightforward. There were no tricks or ambiguity. A thorough reading and an understanding of what they look for in Recursers and the application resources are great preparation for completing all three stages.

During the conversational interview, it is very important to articulate a clear understanding of the nature of RC, how you can benefit from joining the community, and what you can contribute to it. The pair programming interview involved live coding but was not at all as intense as a technical job interview. I shared my screen and took the driver’s seat for the duration. I was allowed to Google as needed. It was my first experience pairing, and it was so fun that I did not want it to end! I would recommend updating your social media platforms and GitHub account before submitting your application.

So, how did I know that I was ready to apply? Well, there came a point when I contemplated my learning plan and how my life was lining up to support it. I reasoned that if I felt it necessary to attend a bootcamp, now would be the best time to do it, during my summer vacation, while I have money saved to cover my living expenses, and while my schedule is free. I had discussions with mentors and my family, and I decided that it would be best for me not to take on bootcamp debt, but instead to continue the self-taught route, since I had been able to successfully develop a productive routine, and follow a really thorough custom curriculum. I had already designed a personalized bootcamp program that I could continue implementing throughout the summer. The important missing elements would be camaraderie, networking, and career services. It seemed that RC could perfectly fill those gaps. And the lifetime membership would offer me an added benefit very distinct from a bootcamp: a safe place to flourish, seek refuge, and exchange support throughout my career.

I revisited RC’s website and immediately recognized how to code the CracklePop program for the written application. This demonstrated growth since the previous times I had explored the application resources. Also, by this time, had written two original programs without the guidance of a tutorial or a teacher: a Rock Paper Scissors game and the beginnings of my plant tracker. However, the Tic Tac Toe project that I selected for my potential pair programming interview was a big challenge for me--more complex to code than the RPS game, so I was not sure that I was ready to apply for the upcoming summer batch. The great thing about RC is that if you are not accepted, you can always reapply after three months. However, I didn't want to risk having to wait three months to reapply. I thought a better strategy might be to wait a few weeks and apply for the first fall batch instead. By then, I would be a slightly stronger programmer, but the drawback would be having to work around a less flexible schedule in the fall.

So, in the middle of the night, two weeks before the first day of the Summer 2 batch, I decided to go ahead and submit my written application. The entire interview process was extremely swift for me, for which I was very grateful because I knew that I was applying rather late to expect to join the summer batch. As I described in my introduction, I was thrilled to learn that I had been accepted!

Becoming a Recurser

Getting accepted to RC bit a good-sized chunk out of my impostor syndrome. I felt a sense of legitimacy for the first time. I reasoned that if I had been accepted to a retreat for programmers, it meant that I was indeed a programmer! Well, the reduction in impostor syndrome was quickly replaced, and in fact, my insecurities doubled during the first week of RC. As I began pairing and chatting with my peers, I realized that I was among the least experienced Recursers, likely the very least. For a while, I tortured myself with a lot of negative thoughts. I was convinced that my acceptance had been a fluke, that I could not possibly add value to RC, and that I did not belong.

Fortunately, through the support of my family, fellow Recursers, the RC facilitators, and (honestly) my therapist, I have had a paradigm shift. Everyone has been genuinely kind, attentive, inclusive, and positive. I have received excellent advice and reassurance. While I still experience spells of self-doubt at times, it is now much easier to reason my way out and get back to work. I plan to discuss my ongoing battle with impostor syndrome, at length, in a future blog post.

All Recursers are encouraged to follow three guiding principles called the self-directives. So far, I have begun working at the edge of my abilities by refactoring a previously written program, completing coding challenges, and pressing on through learning Data Structures and Algorithms even though I face a lot of confusion, research, hard work, and potential failures. I have begun building my volitional muscles by participating in goal-setting/goal-reflecting meetups, which help me to identify and prioritize my true interests, and I have begun learning generously by publicly sharing my daily reflections, making two presentations, participating daily in pair or group programming to practice Leetcode and Data Structures and Algorithms, and spearheading a Virtual Reality interest group that has met for the last three weeks. I now feel that I am a valuable member of the community!

A Day in the Life

Here is my ideal schedule:

Time (ET)Activity
6:00 - 9:00yoga, cycle, garden, shower, personal time
9:00 - 10:30focused study or practice
10:30 - 11:00breakfast
11:00 - 12:00RC events
12:00 - 1:00break and focused study or practice
1:00 - 2:00daily LeetCode/DSA practice groups
2:00 - 2:30lunch
2:30 to 5:30focused study or practice/RC Events
5:30 - 10:00dinner and personal time

A typical day at Virtual RC begins for me with ten minutes of yoga. Last week, I finished a thirty-day challenge for the second time, so I returned to day one for a third cycle. Not only does this practice help me to start my day with purpose and intention, but also it contributes to my physical health. The ability to maintain a deep focus while studying and coding, for me, is directly correlated to getting sufficient exercise, rest, and nutrition. I am still working on observing bedtime and wake time, but regardless of the time I wake, I make sure to do my daily yoga. I don’t always feel like going out in the morning to take a bike ride or to work in the garden, but I can alternatively ride my stationary bike, and my garden will survive.

Next, I work on study or practice modules from my learning plan for 30 minutes to 1.5 hours, depending on whether or not I have any early coffee chats or other appointments scheduled. The length of time also depends on whether I wake up early or not! I have rearranged the learning plan that I discussed in my previous blog post. I specified practice modules and alternated them with the study modules to break up the monotony. I also have added a new practice module. So my practice modules are 2 hours of personal projects, blogging, or open source work, 1 hour of coding challenges, and .5 hour of building games in Python for logic practice.

Recursers are expected to participate Monday through Friday, between 11:00 and 5:00 ET (there is flexibility while remote to accommodate time zone differences). So, this is when I stay active on the Virtual RC platform and the Zulip chat app. I attend RC events for 1-2 hours each day. There are, of course, changes to this schedule due to various factors. Therefore, I must be flexible and willing to simply pick up where I left off. My Study Schedule sticky note has helped me to keep track of my work.

Throughout this first month at RC, I have been figuring out what works, and what needs tweaking, as I discover more about my learning style and educational needs, and as I adjust to being a Recurser. My goal is to complete 5 hours of focused study/practice daily. It has happened, but rarely. Last week, I averaged 2.87 hours per day. Not bad, and better than the weeks before. So, I predict that my average will continue to improve, barring any unforeseen incidents or setbacks.

Closing

Four weeks have passed very quickly! I am determined to work hard every day and to make the most of my remaining time as a Recurser. I hope to become dramatically better at programming by the end of this batch and beyond. I realize that as a self-taught programmer, I have a lot of catching up to do. I must continue learning, practicing, and collaborating, with just as much focus, even after my batch ends. I am so grateful that I will always be a member of the RC community.

Never Graduate!