After having spent two days working at the Recurse Center—the intro day doesn't really count here—, I feel like I should comment on my experience again. I have had an amazing time thus far. I have seldom been as productive as I am right now—maybe only during the height of my work on zepto. But that is not the main reason I'm excited; that would be my newly discovered workflow and productivity tooling that I shamelessly stole from the Recurse Center classics. Let me walk you through my favorites.
Check-ins are awesome
Two days in I've already developed a deep love for “check-ins”. Check-ins are little lists or essays at the beginning or end of the day, detailing what you did the previous day and what you plan on doing the next day. This provides a nice resource for you to look at during the day if you're unsure what to do next, which is one of my main problems when working on a bunch of small projects at once. It also helps me be honest with myself about whether or not I was productive. I tend to leave work thinking I didn't do a lot with my time, and it takes active reevaluation for me to really know whether my productivity was sub par, normal, or exceptional.
Check-ins aren't all about you, though. It also engages your readers—in this case other Recursers—, and possibly incentivizes them to pair with you. I myself have paired with people because of items on their check-ins on both days. This serves as a perfect transition to my second favorite new thing to keep me productive and happy, pairing.
One is the loneliest number
I've not discovered pairing during my time at the Recurse Center. I've certainly paired with people before, and it's always been fun. I vividly remembered pairing with my roommate on one of my first programming projects, an editor for live coding visuals and music written in C++. We spent long nights fueled by caffeine and chips staring at multithreaded C++, wondering what the frickety we did wrong. We had a blast. But somehow I was never really hooked, but I can't tell you why.
I can, however, tell you why I'm hooked now. Having so many people with so many different backgrounds and so much domain knowledge around me is amazing. I learned more about Rust in two days than I could have on my own, simply because of two awesome pairing partners. And I'd like to think I gave something back, mostly my domain knowledge about programming language implementation—all of my pairings thus far were compiler related in some way. With other people I've worked on:
- A Lisp compiler in Rust with an LLVM backend (other person's project)
- A virtual machine in Rust (my project)
- A lexer for the lambda calculus in Python (other person's project)
All of these have been amazing, and when I come back to the regular working world I plan on doing these more. They're insightful—for me anyway, but hopefully not exclusively—, engaging and entertaining.
New tools keep my workflow sharp
Before going to RC I already had a solid workflow—or so I thought. But sometimes even a few changes help to make you realize that with a bit of tweaking it can get even better, no matter how comfortable you are. This might seem obvious, but I know I haven't tried out something new to mix up my routine in years. I try to stay on top of my game when it comes to cool new technology. Maybe I should try and practice the same rigorous experiments with softer skills? At the very least it's worth exploring.