My Recurse Center "return statement"
Reflecting on my almost-spiritual journey through RC
As a new idea in my mind, this is by no means a solid source. I'm happy to hear your thoughts and learn better.
I've finished my Recurse Center (RC) batch on December 9th, 2022. Now, almost 3 weeks later, I finally feel ready to write about it.
I've been overburdening myself with guilt and shame most of my life, in a self-centered process that drains me from truly being there for others. The first time I remember this feeling happened at Church when I was 9 - it was my first encounter with class issues.
At school, I was the “poor” kid who didn't have the latest toys, didn't watch the fancy cable TV cartoons and didn't eat flashy industrialized snacks.
20 years ago, industrialized food signaled status in Brazil; today, we've been properly colonized by the USA in adopting them as staples, and fresh, true food is becoming the expensive, exclusive delicacy.
2022 was the year ultraprocessed food became more expensive than natural food here.
In my neighbourhood's Church, I was the “rich” kid whose family had a car, and I was white, blonde and blue-eyed in a colonized country where European traits are treated as the only standard of beauty and wealth.
This dichotomy and apparent paradox created a knot in my mind that persists to this day. And it permeates everything I do, including my career.
There's no “stop overthinking it” or “it's just work”...
And the Recurse Center was the first environment in my career that welcomed this contradictory, confused part of me.
Although healing, this acceptance set me in a bigger disarray than I expected going into it.
Traditionally, when work piled up and I was lagging behind, I'd drink lots of coffee, neglect every other part of my life and sacrifice my body and soul in pursuit of breaking even. From a career perspective, this worked well - clients are mostly happy, the money comes in, I learn and improve my craft.
But damn, I wouldn't wish this life to anyone. Sure, there are much (much) worse work conditions, and materially I've got it pretty good and easy. But we wouldn't be humans if we didn't strive for better: this approach to work severs our connection to our bodies and emotions and leads to constant, chronic stress that shortens our lives and make them bitter. I think we can do better.
At RC I've found plenty of people who explore similar ground and who welcomed me into their own journeys and listened while I shared mine.
And while this was liberating, I had so much stress and self-repression stored from years of this toxic relation to work, that when I felt safe to look at it, I collapsed.
During most of my batch I was fighting low energy and flailing motivation; lack of passion for programming (when all I wanted to do was relate and connect to others); tons of guilt and shame for not "trying enough"; impostor syndrome and toxic self-talk as I did the habitual performance comparison to my (brilliant) peers.
As many will say in their conclusions on RC, I was surprised to find that my batch was more of a journey of self-discovery and self-acceptance than of coding.
I'm currently reading and practicing the ideas and exercises of the book The Artist's Way, by Julia Cameron. It helped me realize a lot of my professional struggles are about a faulty creative process and an overly critical inner “Censor” that gets in the way of artistic desire and expression.
I'll elaborate more on this in the future, but I'm glad that this clarity came from struggling during my time at Recurse, at least I had a network of kind people to help out.
Beyond the personal journey: the programming bits
As everything in RC is self-directed and there are no externally imposed deadlines, I didn't follow the old script of pushing through it when all these feelings came crashing down. However, this isn't to say I haven't grown as a programmer.
- Finally got a true taste for Clojure and the magic REPL-driven development (thanks to the amazing Aditya). I get it now, and it's beautiful... but I also understand it's not for me - I need a language and tools for building for the web that are easy to get started and beginner-friendly.
- More broadly, I quenched my thirst and curiosity for learning new programming languages I got to see Elixir, Prolog, Python, Go and Rust in action. Each has its trade-offs, and I concluded I'm happy to stick with those of Javascript and continue writing for the web, struggling with mutability, a sprawling syntax and all of the reasons people hate it.
- At the end of the day, I'd rather spend more time solving problems than learning languages.
- I'll learn new ones as I need them, similarly to how I only learn human languages spoken by/at people, cultures and places I want to be around.
- Shout-out to Mary McGrath for showing me the fun in experimenting with new languages with her mind-blowing breadth of knowledge and experience
- Dipped my toes into SQL and Datalog, learned about specialized databases, such as vector and chess DBs, and now I'm confident to struggle (not without pain 😬) with any database paradigm out there
- Tinkered with building an infinite canvas. The hole is deeper than just building the coordinate system and translating the viewport and elements around, but I now what goes into a production-ready one like tldraw and why I should rely on one as a piece of infrastructure for my future spatial apps.
- Cemented my pragmatic understanding of state machines and saw their value in production first-hand, which I captured in a short video.
- Worked with cadence to deliver a complete project from start to finish, tempering my moments of fiery enthusiasm and calming myself through valleys of dismay. I even had fun doing the final 20% of polish that take 80% of the work - a first in my career!
- Learned how to pair program and faced some of the discomfort around it.
- Became proficient with P5.js and did a lot of creative coding, which is a new tool I can use to rekindle my love for programming in low moments. Here are some of the sketches I created with others.
- Lost the fear of algorithms! I met and implemented several of them and finally internalized the view that they're just recipes of steps to solve specific problems. Of course, many are extremely hard to grasp, but others, when explained right, are super fun. Surprisingly, they even restored some of my hope in human ingenuity 😮
- Got a deeper look into CRDTs and their implementation. I'm now more prepared for using them in production and better aware of their trade-offs.
- Explored a few product ideas and cemented my desire for working on software that is more tactile with the interfaces we have (currently, that's spatial canvases for me)
- Understood how people customize and deploy existing AI models to their own use-cases. This feels like a big part of the future of software development, and I'm glad it's not as scary as I thought.
- Experimented with TipTap and Lexical and got to know in first-hand how hard it is to build rich text editing UIs, even when leveraging frameworks. I got much more appreciation for Sanity.io's PortableText editor and Heptabase's note taking.
Most importantly, I saw people tackle so many diverse, challenging problems that I'm now more capable of facing my fears and learning hard topics.
So yeah, if you're thinking about applying to the Recurse Center, I encourage you to do so! If you don't have the means, perhaps one of their grants can be of help.
I'm super open to chatting about it, so please reach out if you have questions or could use some help reviewing your application - I'm at meet@hdoro.dev or hdorodev 😊
Finally, I'd like to name a few of the great people who embraced me during RC (alphabetically ordered):
- Aadhav Vignesh showed me how one can tackle hard topics, know a lot and still stay humble and savor the moment-to-moment connection with colleagues
- Ana Urlic and I chatted a lot about anti-capitalism, rest as an act of resistance and how to have more human work relationships - insights I'll keep coming back to for years to come!
- Clara Amenyo made me feel safe from the moment she first spoke to me in Portuguese. From a brilliant polyglot to an authentic designer+developer, Clara is a joy to work with.
- Ed Younskevicius deserves a prize of "recurser you can rely on" - he was always there as a great listener when you needed, with an inspiring surrender to helping others 🥰
- Leah Peker brought so many important political perspectives and caveats on gender, race and class during our work, that I'm glad I got to learn and develop more of my critical thinking with her.
- Liz Fitzgerald is part of the RC staff but she was so present, kind and friendly that often I lost sight of that. It was a relief being able to bounce ideas and dig myself out of my shame holes with her.
- Mary McGrath is not only a wizard, but a humble and empathetic one. The glimpses I got of her mind are still reverberating and inspiring me: how can one know so much and yet be so kind and unassuming?! And she's also a super accomplished athlete and adventurer, what?!
- I met Michael Nagle through a recording of a course on connection, and he immediately striked me as a fun and authentic person I'd like to be around. Meeting him at RC, I confirmed this hunch - what a great conversation partner, so many laughs and insights!
- Mikael Lindqvist helped me with my code and showed how one can tackle seemingly impossible challenges (such as creating a full CMS) with tranquility, one step at a time.
- Nicholas Tietz-Sokolsky's writing and jaw-dropping work & learning was super inspiring, and them constantly helping others made RC a much more positive environment.
- Sophia Lanzendorf created a safe space for us to talk gender and race in tech, and also allowed me to practice my terrible Spanish with her 😬
- Stella Choi and I, beyond helping each-other with code, got to be vulnerable on our future hopes and past traumas at work.