Posted on 2022-05-21

table of contents

A week ago I started attending a batch at The Recurse Center. Here's a quick reflective post on my experience so far before I start the next week.

Some Thoughts

I am tempted to carefully recount the events of each day, but I'm not sure how useful that would be for myself or anyone reading this post. So I'll just briefly discuss some thoughts and revelations from my first week.

I believe that the most valuable component of RC lies in it's community. No matter how much time I spent getting to know new people in my batch and beyond I felt as if I hadn't done enough. I often found myself wondering whether I could have taken more notes, paired more, etc. But I learned pretty quickly that as long as I was interacting with the community at any capacity, it was enough. Some days I felt very social, other days I needed to withdraw.

The first self-directive of RC is, "Work at the edge of your abilities". Which may seem intimidating initially, but it's important to realize that the edge of your abilities isn't a constant, it's a variable. It fluctuates each and every day, sometimes even by the hour. Acknowledging this can help stave-off the tendency to beat yourself up over not doing "enough".

Another thing that helped with the fear of not doing enough was acknowledging that, by prioritizing social interaction, I wasn't going to realistically get a whole lot of "work" done. And, come the end of the week, as expected I hadn't written very much. But, I had made a lot of new acquaintances and figured out who I might be spending a lot of time with going forward, I had written some quality notes and made some important discoveries about how I work. And that to me is more valuable than writing more lines of code.

One thing that I struggled with during my first week was knowing when to speak on something and when to cede the floor to someone else. Sometimes it felt like a constant internal debate of trying to determine if what I wanted to say actually added to the conversation, or if it was just an attempt at showing how clever I thought I was, or simply to fill empty space. Nick Bergson-Shilcock, co-founder of RC, penned an excellent post on this struggle. In it, he discloses a useful mechanism where one asks themselves "Why am I saying this?" before saying something in a conversation. I like the simplicity of this solution but at the same time I have struggled with crippling anxiety around this kind of self-analysis in past, leading to self-censorship at times. Nick addresses this as a potential pitfall in his post. I suspect this is something I will need to closely monitor going forward and perhaps develop my own mechanisms around.

Featured Events

As I mentioned (several times) above, I consider interacting with community at RC often as critical to making the most of my 6-weeks. I found that attending events based on interest or even curiosity is a great way to form new connections. These are some of the events I found valuable during this first week that I plan on continuing to attend. This list is non-exhaustive.

Weekly Intentions/Reflections

I love these two events. We simply show-up at the beginning and the end of the week to write off-camera for 30-minutes about our weekly intentions/reflections and then optionally share highlights with the group. This helped provide the space to focus on forming and vocalizing my intents, which I believe can only help lead to their manifestation.

Feelings Check-in

One of the most powerful events I went to last week. I was able to get some feelings off of my chest and hear of other people's struggles. There's something really special about being vulnerable in a judgment-free space with people who can often empathize with what you're feeling. Very cathartic.

Emacs Enclave

A weekly meetup where Emacs enthusiasts and beginners alike come to share interesting Emacs-related discoveries, or to seek help. During this first meeting I learned a little about macros, an Emacs feature I have (shamefully) avoided thus far. I also bravely shared my own work-in-progress literate Emacs configuration with the group. I absolutely intend to continue attending this event as I use Emacs daily.

Happy Little Sine Waves

This group meets up once a week to collaborate-on or share musical creations made with the visual programming language, Pure Data. I hadn't heard of Pure Data before but was quickly hooked after a demonstration from the meeting's host. I got the Pure Data environment and editor installed and configured on my system that night and was quickly learning the basics of performing audio synthesis with its components. I definitely plan on attending this going forward to help provide an outlet for my more creative interests.

Non-programming Talks

Once a week people present on a topic that has nothing to do with programming, or at least very little. The format is casual and it's neat to see what people are interested in outside of tech. I have a loose goal of presenting twice or more during my batch as I have a few ideas for topics.

Presentations

The big event at the end of the week, presentations. This is when everyone is encouraged to sign-up for a 5-minute slot to present something to do with their efforts at RC. I definitely want to push myself to participate in this two or three times during my batch as a way to temper my nerves and to work on communication skills, as well as keep myself accountable to those present.

Daily Leetcode

This event isn't for everyone, as drilling Leetcode exercises is seen as an employment-focused activity, which seems to be gently discouraged at RC. In this event, a set of problems following a certain theme is selected and announced to the group. Participants gather to either pair on finding solutions or simply work solo. After an hour all are encouraged to return to share their solutions and discuss potential optimizations. I'm attending primarily because I want to improve my knowledge in data-structures, algorithms, and complexity. I feel that it's useful to be able to recognize patterns and conceptualize solutions quickly and I think this is one of the best ways to train that.

Next Week

This next week I intend to be focusing more on writing code and learning. Now that I've identified some of the core events I plan on attending, I can build my routine around this schedule and have the space and presence of mind to focus on the task(s) at hand.

I also intend on being more consistent about participating in Daily Leetcode. I want to present my solutions and ask more questions to help improve my understanding of algorithms and complexity.

I'm also pushing myself to pair more and often. To motivate me, I've made use of the Pairing Bot which will match me to a random person to pair with once a day (except Friday). This is so I can be more comfortable in an environment where I'm being observed while programming (technical interviews), to increase the speed at which I learn new topics, and to save my own or someone else' time spent debugging.

Additionally, I want to prepare a talk for either Non-programming Talks or Presentations, or both! Public speaking is a great skill to build and I want to become better at it. What better opportunity than in the presence of such a supportive community?

Conclusion

I'll attempt to keep a consistent schedule of posts coming each week during my batch, maybe even after my batch. They won't all likely be as long this one, I may even only speak on a handful of highlights in each, but I'll post something!

Until next week (probably)!