Recurse Center Report: Half Batch
This Friday marks the mid-point of my batch at the Recurse Center1. I am in a 12 week batch, meaning I have completed 30 out of 60 days of the programming retreat. I already feel like a different person and a better programmer than when I started, and figured that it could be helpful for others to hear about my experience.
Because I intended to do a 12 week retreat from the very start, I will say that I was a little lax with planning my time to be at maximum efficiency. My main goal for the retreat was proving to myself that I enjoy regular programming and learning new things, even if they look very much strange, and feel very much challenging.
Weekly Reports
At Recurse, batch members are encouraged to post text check-ins in their respective Zulip streams. Thanks to this practice, I have been able to track and share my progress, as well as stay accountable to myself and learn from the obstacles blocking my workflows.
Week 1
I decided to excuse myself from the requirement of writing any code in the first week, as it is quite an overwhelming and social week, but in retrospect I wish I had challenged myself a bit more, and at least refactored some code in the project that I applied to RC with, so that I could present it during Friday presentations. However, I did:
- work on sunshine act pen and paper RPG game
- write short bios of everyone so i could remember peoples names and personalities
- experimented with check-in formatting
- make a master channel on are.na for all my RC batch related research
- attend a pairing workshop
- made ~1 new friend.
Week 2
I became a lot more comfortable with all the RC software, so I set out to program every day. Despite such a clear intention, I only commited code on 3 of the 5 days, as I ended up feeling quite drained by the frequent "coffee chats", planning to work on other people's projects, and attending the social events.
- attended the "Building your volutional muscles" workshop, enjoyed it very much
- started learning
Go
for my TUI game, ascii tarot - got sidetracked from learning
Go
with elektronika project bc of embedded meeing - attended the creative coding, but failed at my task because of updated browser permissions issues in
p5.js
- had a coffee chat with a career center staff member
- presented
- made ~6 new friends!
Week 3
Learning Go felt a little out of left field, so I decided to spin up a "quick and dirty" static website. The theme I chose to base it off of was anything but quick to work with, however it did prove to make for some quite dirty coding work. Ultimately, I was pleased with my 4/5 daily commits, as well as the fact that I didn't have to poke around the Go reference documents for a short while.
- learned about
SQL
- started working with
Zola
and the karzok theme,npm
became the bane of my existence - met with a staff member to discuss time management and my struggle with "doing other peoples homework" instead of focusing on my own work
- attended the "Balancing learning generously with your own work" workshop - really loved it
- attended the "feelings check-in"
- made ~4 new friends.
Week 4
Attending the weekly intentions and reflections meetings was quite phenomenal. In general, I find intentionality incredibly meaningful and valuable in my own routine, so sharing such a practice with fellow Recursers changed my entire experience. I felt a lot closer to the community, and struggled less with accountability.
Another big change was replacing my coffee chat bot with the pairing bot. I noticed that the daily chit-chat meetings spawned by the coffee chat bot took a lot of energy out of me, but didn't translate into a sense of satisfaction with how much I was learning programming or making progress on a project, be it mine or someone elses. Switching up the bots helped a lot, as I could at the very least look at somebody else's code and ask about their goals at RC, rather than talk about our outside hobbies for an hour.
- started attending weekly intentions and reflections
- presented during career panel
- replaced coffee chat bot with pairing bot
- shipped my personal website
- paired with people on their projects, which was very rewarding.
- got some excellent pointers on Go from someone who has worked at the Go team
- had a meeting with the career center
- made ~4 new friends.
Week 5
This was the week I realized I needed to quickly make friends with everyone from the previous batch, which was ending the following week. I wish I had been more organized about my interactions with other people, as that's really one of the most valuable aspects of RC. Even if you do not work on something together, it's nice to at least get to know each other a little.
I also set out to have a "solo" day where I wouldn't attend any meetings or events, and just focus on some deep work. This was a good idea, and helped me feel more in control of my productivity.
- paired a bit
- made progress on my website
- went to the gym a lot
- did some leetcode problems
- strengthened ~2 of my existing RC friendships.
Week 6
There is a long-standing tradition at RC to write "niceties" to members of the ending batch. I had 42 Recursers to write them for, as well as some extra for staff, which took a lot of time and effort. In the process I realized there were different types of Recursers – the very socially active, the more heads-down ultra-productive ones, the ones that host specialized events, and the ones that don't participate in the community very much. I realized that despite my own feelings about my subpar progress, I myself was a relatively successful Recurser, as I made the retreat's experience inspiring and fun for other members. Writing the niceties helped me reconsider my own goals and expectations of myself. I stopped worrying about completing a specific amount of leetcode problems or github commits, and decided to focus more on positively contributing to the experience of those currently at RC.
- completed niceties
- made checkin and reflection templates for obsidian
- began tinkering in hardware discussion groups
- quit the google ux certificate coursera course bc didn't have the patience to learn things i already know for $30/mo
- finally a successful creative coding project
- wrote blog post for incoming batch as i decided to host creative coding going forward
- made ~4 new friends!
Takeaways
In these six weeks, the accomplishment I am most proud of is a sense of confidence in my ability to program, and my identity as a programmer. So many of my friends will sometimes say that they are not qualified for a project because they have limited experience programming – I cannot imagine doing this myself anymore. I would rather let the hardware say "no!" to me by breaking, than to say no to it first myself. I've learned that the only way to tackle the unknown is with curiosity – it is best friends with bravery anyway, so bravery will swiftly follow wherever curiousity goes.
Concrete accomplishments, however:
- Gave two talks
- Got a lot better at git
- Mastered templating in Obsidian
- Configured my VSCode dev environment to work well with remote collaborative versioning workflows
- Shipped a static website
- Learned a lot of new things about JavaScript, Sass, Go, Rust, Tera, SQL, and shaders.
I'm very grateful for the chance to make so many new friends, too. Next week, the incoming batch will arrive. I am excited to show them around and host some events. I do not at all feel ready to take a senior post, but nonetheless I am curious how it will go in any event.
What is the Recurse Center? You'd probably learn best from their own website.