Recurse Center, week 1
Settling in
I just wrapped up my first week at Recurse Center. I dreaded writing this because honestly I wasn’t very productive. Coming to Recurse Center, I committed to writing at least one blog post per week even if I don’t have much to write. I wanted to push this streak to see how far this takes me.
Instead of just waiting for the perfect week to write about the perfect week, let’s just write about the week as it was.
“No man ever steps in the same river twice, for it’s not the same river and he’s not the same man.” - Heraclitus
Tomorrow is the start of week 2. So technically, I can’t write “week 1 recap” anymore. So here we go. This post will be less organized and is rather a dump of thoughts.
I’ve been abroad for the past several years. Coming back to the US, right in NYC, meeting a bunch of new people was overwhelming. It took me a while to adjust to the new environment.
However, this is the first time in many years I feel energized to show up, just be myself, and learn alongside a community where everyone is curious and wants to get better. I’ve been to several retreats that have similar cultures before but they were mostly for art and mindfulness training. In a way, this place does feel like an art school or a mindfulness center but for programmers.
Logs
In our pair workshop, I paired with T to build a game from scratch. We didn’t finish it but the experience reminded me of the early days of my career at FullStory. At FullStory, I used to work closely with a senior engineer who was very generous with his time and always put engineering discipline on top of everything he did. I learned a lot from him during my 1.5 years working with him every day. By accident, I met him near Union Square this week. He just moved to NYC a few months ago for a new job. Small world!
I spoke with an alum about learning how to learn and he shared a blog post he wrote about the topic. It’s an easy read but was very helpful in making me more aware of how I learn new topics these days.
Our batch also had a workshop on building our volitional muscles which was helpful in writing down our goals in concrete terms, not just flying above our heads.
I attempted fixing a Markdown lexer/parser bug in Biome that I’ve been meaning to get to for several months. I finished it but am still polishing the final details and adding test coverage. I also continued on the Crafting Interpreters book but didn’t make as much progress as planned.
Last and next week
I came into week 1 expecting to get a lot done. But I was torn between socializing or focusing on coding. It always feels like “the grass is greener on the other side”. A batch fellow reminded me to “enjoy the chaos and get inspired”. That helped me loosen some tenseness and I continued freewheeling for the rest of the week.
During the volitional muscles workshop, I wrote down:
- Build a toy language using the toy language. The idea is inspired by the bootstrapping process of the Rust compiler. It’s likely that this is an impossible goal but I want to work at the edges and learn why it is difficult or even impossible. I’m going through Crafting Interpreters to build a toy language from scratch. Choosing to implement it in Rust, as opposed to Java and C in the book, already forces me to understand the compiler concepts and Rust better. But I want to stretch it further.
- Train my writing muscle. I always feel that I should write more. Not because I’m a good writer but because I’m a pretty bad writer and I want to improve it. Sharing is the only way to be corrected. It’s also the only way to be connected with others on the internet.
- Become a maintainer of an OSS project I admire. Contributing to open source and being in online communities have opened a lot of doors for me. So I’ve naturally aspired to become a maintainer of an OSS project.
- Explore how my fitness performance impacts my productivity and well-being. Inspired by What I Talk About When I Talk About Running, I want to see what running can teach me about programming.
- Learn Rust.
These are very rigid and might take more than a 6-week batch to accomplish. Some of them are also open-ended such as “learn Rust” or “training writing muscle” because I’d never become a professional writer or a Rust expert. But I think it’s good to set the north stars to keep myself focused.
Besides these goals that I had before joining RC, I’ve been inspired and will join a few learning groups and workshops like refactoring-rust and jjj. Just today, I had a crazy idea about hacking my Garmin watch. I might spend some time exploring that as well. More details to come.