I just finished my fourth of twelve weeks at the Recurse Center. I’m a third of the way done - time has been moving far too quickly. Still, I feel like I’ve learned more in this time than the full year prior.
I’ve learned that in order to effectively learn a new subject, I need both a concrete project in mind, and a reason for learning that is connected to one of my core axioms.
Many times I’d have an impulse to learn a topic, or build something, without knowing what was driving it, aside from “that’d be cool to know/make.” I would start projects or tutorials and quickly lose interest in them, because I couldn’t tie the effort to a goal that wasn’t going to evaporate. This continued until Adam explained how all his seemingly unrelated topics of interest were connected: he was looking for the answer to the question “what is computation?”
I realized I also had to find the thread that connected all of my interests. I’m still working on this, but the introspection has caused my interest in most subjects to wane and a few to strengthen. My “meaningfulness filter” began to work better, though that alone wasn’t enough. I needed to also have a concrete project to work towards, with just the right level of challenge and would force me to explore the proper subjects, in order to have a clear path forward.
These things can be difficult to work out, and I don’t have any real shortcuts, aside from talking to as many people who will listen, and when they’re tired of you, talking to yourself. You can write a self-indulgent blog post. Alternatively, rubber duck debugging works for more than just computers.
I have also discovered the benefits of pair programming. I can’t imagine doing it 40 hours a week, but it’s been immensely beneficial for filling in my knowledge gaps. The ability to watch another programmer think has been eye opening - seeing Andy plow through situations that would have had me scratching my head has caused me to reevaluate my process for solving problems.
The sheer volume of tips, techniques, and trivia that’s been shared has also been incredibly valuable.
bash tricks, helpful libraries, and language conventions to name a few. Pairing with Okay showed me just how much I could step up my
vim game - he’s an order of magnitude faster than I am at pushing code around.
I’ve spoken to people who are also in transitional periods in life - other people who don’t know exactly what they want long term, or even what they’re going to do immediately after RC. I’m able to share thoughts I had previously kept to myself because the people around me in San Francisco all seemed much more sure of their path, and so unable to empathize to the extent Recursers can.
I’m still far from having a solid plan for my medium and long term future, and the overwhelming number of new ideas I’ve been exposed to since I arrived has only broadened my search space. Work as a remote freelancer and travel, like Kevin Scott? Hammer myself into a computer vision engineer like Okay was? Be the first developer at a startup owned by a woman I met on the subway? As I juggle the possibilities in my head, and offer them up for other people to challenge, I’m trusting that all but one can be eliminated before my time here is up.
For someone whose goals are unclear, except for wanting to be a better programmer, the Recurse Center is the perfect place to be. It feels like my time here has been filled with exposure to ways of thinking that I may eventually have come across on my own - but the sheer volume of experience, domain knowledge, diversity, and open communication at the Recurse Center allows one to iterate through ideas much more quickly than you can anywhere else. No, I was not paid to write this.