Projects
Writing
About


Reflections on the Recurse Center

Abstract

I attended the Recurse Center, a ten-week retreat for programmers, in the Fall of 2014. I expected to — and did — hone my programming skills, but I did not expect the far more valuable lessons I was to learn on life, work, and motivation.

Productivity and Obstacles

The Recurse Center has an environment engineered to remove all obstacles to productivity. There's no firm daily schedule. There are no pressures like grades or reviews. There are no stifling obligations or curriculums. You're free to work on whatever you like, with whomever you like, at whatever speed you like. You're working in a community of about sixty smart, passionate, friendly people whom you can draw on. If you get stuck with anything, there are facilitators to help you out. To complement the independent and self-guided culture of learning, there is a system of mutual support that works by sharing and discussing progress.

What's interesting about having all traditional external obstacles removed is that it exposes the internal ones. While there sometimes are genuine external obstacles to success, I think that internal ones (like a lack of focus or using one's time poorly) can be more persistent or more stifling. An external obstacle may block you for a few days, weeks, or maybe even years, but the nature of an external obstacle is often clear, as is a path to eventually overcoming it. An internal obstacle may block you for life if undetected, and some of them are very subtle. This is complicated by the fact that self-awareness, especially in a stressful environment, is hard! The really pernicious issue is that seeming external obstacles mask the internal ones. Some people continuously mistake their internal blockades for external ones, and spend their time quixotically attacking perceived external obstacles — a futile effort because the real problem lies elsewhere.

The Recurse Center was extremely useful in that it facilitated the detection of these internal obstacles. It put me in a superb working environment with sixteen hours every day to devote to my work. I found, early on, that it was still easy to lose time, or not to be as productive as I could. There were a few days on which I didn't get much done. For those I had no external obstacles to blame — no exhausting responsibilities, nothing stressful draining my time or energy — the problem was on my end. All hurdles had been removed but the ones that were self-imposed. Thankfully, because of the low-stress environment, I had the time and peace of mind to actually reflect on my working habits and how I was using my time. When I realized that I had not a single external obstacle, and I still wasn't being as productive as I could be, I asked myself why. The coming days and weeks gave me the space to pursue that question, and to find answers. Attending the Recurse Center turned out to be a great opportunity for introspection.

Passion and Achievement

Being at the Recurse Center put me in an exceptionally good position to do what I love. I learned that doing what you love can be hard: passion does not guarantee success. Considering the ubiquity of chatter about the importance of passion, this came as a surprising realization for me. To genuinely enjoy something is certainly conducive to approaching work with focus and determination, but it doesn't substitute for either of those. Being proactive is still a necessity, especially if you seek to grow your skills. Passion doesn't imply that achievement becomes effortless — I'm actually inclined to argue the opposite. Although being passionate about something does make it easier to make progress in that domain, it also lends itself to having lofty goals and to feeling strongly about them, which can actually be a burden in that it exerts significant internal pressure. Thus, while I think passion for a field is both useful and admirable, I now recognize that it, on its own, is not a panacea, and that it also does not make a satisfying achievement less challenging.

Regarding satisfying achievements, I learned the importance of focus early on in my stay: for a little while, I worked on lots of different, cool little things and read a ton, dipping my toes in a myriad of diverse topics. Being this busy felt exhilarating for every minute of the process, but at the end of the day it felt like I'd done a whole lot of nothing. My most valuable learning and creative experiences came out of focusing very seriously on one project, and taking it as far as I could.

Code and Computer Science

My studies focus largely on theory, so I was very excited that at the Recurse Center I would focus on practice: immerse myself in application and work through a long list of project ideas. I ended up writing quite a bit of code — a few hundred lines of Haskell, a few thousand lines of Python, and a few hundred lines of JavaScript, among others. However, I think what was more valuable was that I spent more time thinking about code than writing it. Previously, I had always been under time pressure to write and ship code quickly, so my usual modus operandi was to find and write a working solution as quickly as possible. The sinking feeling this gave me was that even though I was competently solving problems, I wasn't solving them well.

The low-stress environment at the Recurse Center enabled me to spend time on problems and to really give them thought. In some instances, I wrote my code very slowly, and focused on developing an elegant and effective, polished solution rather than racing to the finish line with a patchwork product. I think this approach was enormously helpful in achieving deeper knowledge of my tools, and it has made me a more confident programmer. More generally, I suspect that this approach can also be helpful in other fields or circumstances.

In that sense, I think there is a dichotomy between quality and quantity in learning programming languages: writing lots and lots of code will make you fluent in a language, but only thinking deeply about a language and thoroughly digging through its internals and libraries will let you master it. Again, I suspect there are analogies to this in many fields (learning natural languages, painting, mathematics, etc.).

Another aspect of thinking very seriously about code and problem-solving is that it left me with a greater appreciation for theoretical computer science. At college and in other time-pressured environments, I didn't think very deeply about the code I wrote. Discussions on data structures and type theory were interesting to me, but more as intellectual abstractions than as things closely related to programming. However, when I was at the Recurse Center, I often asked myself what would be the best way to solve this problem? and found that the answer was actually closely related to something I had learned in class.

Perspective and Careers

I took a quarter off college to attend the Recurse Center. College is a weird sort of echo-chamber in that while a student body is undeniably diverse, it is so diverse that students — myself included — often end up associating with like-minded and culturally similar persons. A conformity of thought emerges, in particular a kind of groupthink on what constitutes an acceptable path into the future. This intensifies as graduation moves closer. Bizarrely, the rather dogmatic views on what a ‘good next move’ is are usually not particularly informed. That's because most college students haven't yet had a full-time career, i.e. the industry experience to gauge their options, and because their parents — usually important advisors in these matters — are generationally disconnected from the world of their children: career-planning nowadays is quite different from thirty years ago.

Consequently, the Recurse Center was useful for me because it gave me perspective on the path after college. The other participants were generally a bit older than myself — I would guess that the median age of my cohort was about 26 — and many of them had backgrounds and interests similar to mine. However, they represented a vast variety of different career paths. Talking and working with people who had taken totally different routes through their lives was useful in that it gave me much more perspective on what people actually do with their lives.

I see myself working in some technology-related field in the near future. As such, the Recurse Center gave me an immensely valuable learning experience, not just because I worked on technological projects every day for two-and-a-half months, but especially because I had the opportunity to learn and get advice from others who were already quite deeply engaged with this industry (and often had attained significant expertise in some subfield), such that their (retrospective) insights were directly relevant to my future. These interactions left me feeling both more informed and less anxious about entering life post-college.

Concluding Remarks

Participating in the Recurse Center was an exceptionally positive experience. It was a great time of learning and introspection. I had a lot of fun, too. I met a diverse set of intensely talented and admirably passionate people. I witnessed awesome projects get created from scratch. I left the Recurse Center feeling liberated and inspired.

I think the Recurse Center experience varies significantly between participants, because it is so individually driven. As such, I can only speak for my experience and position — I was in a particular point in my life in which I wanted to take a short break from academia. The Recurse Center gave me exactly what I wanted and needed. I would recommend the Recurse Center to others in similar positions, and generally as a short college-intermezzo. I think that interweaving the college years with extra-curricular experiences is a good strategy, and the Recurse Center offers a great opportunity.


Follow me on Twitter.

Note: The Recurse Center was formerly known as Hacker School — operating with the exact same mission, but a much more intimidating name.



This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.