Getting to RC
You wouldn’t know it from looking at my blog, but I attended a batch at the Recurse Center from August to early November last year, and it was the best experience of my life. Many Recursers write a return statement afterwards reflecting on their time there, and in the process of writing mine I realised I have a lot to say about my journey getting there in the first place. Other posts in this vein are this one by Jeff Fowler and this one by Harold Treen.
At the end of 2013, I’d just completed by undergraduate degree and the CSIRO in Australia generously bent the rules for me by allowing me to do a student internship anyway. I was taking a quick break and browsing Reddit when I encountered a blog post about Hacker School. The details are in a server log somewhere, but I’m reasonably certain it was a Julia Evans post, and they’re tonally consistent on this subject so we’ll pretend it was this particular one. I had an immediate and visceral reaction to learning about this magical place, but because of my financial and visa situation at the time I put it in the back of my mind and mostly forgot about it.
Less than two years later, I became an Australian citizen. The citizenship process limits how much time you can spend overseas, but as far as I’m aware it’s open season after you get your passport sorted. I was discussing this with my mum when she asked me what I would do next with my life. Things were going pretty well for me at work and the Canberra spring was springing, so I was pretty content as I was, but she pushed for a better answer until I recalled RC. She encouraged me to apply, which for her meant nagging me every week until I submitted my application. Thanks Ma <3.
I wasn’t accepted the first time. I was incredibly nervous and flustered during my interview, and I didn’t have a good idea of what I wanted to accomplish during my batch beyond vague ideas of learning all the Haskell. At one point my interviewer asked me how I would measure my progress, and I had no idea. I even thought I did okay and the rejection email stung when it arrived a few days later. However, I still believed that I was a good fit for RC. It helped that the FAQ states “It’s not uncommon […] to admit people who we had previously rejected”. I decided to reapply in a few months.
In the meantime, I realised I didn’t have to wait until RC to begin learning Haskell. I was a regular attendee of CanFP but still unsure of how to bridge the gap between learning about lenses and monads and writing real code that does things. I considered myself a pretty decent user of Git and people talk about how Git is functional, so I offered to give a presentation I had prepared before a second time. The co-founder I spoke to didn’t like that idea, but he had been looking into how Git is implemented, and he said he’d love to hear a talk on Git internals in Haskell. I had my project.
A few months later, things had gone pear-shaped for me on the work front and we were heading into the Canberra winter. I left my job and reapplied to RC. In my mind the worst that could have happened had already happened, so I was much more relaxed. My interviewer this time had attended RC when they were like me at the end of 2013, and I think we were able to relate to each other better. I’d learned some Haskell by working on my Git thing, which I called duffer and I progressed to the pairing interview. The pairing interview was my first experience pair programming, and I think it went well, because I got an acceptance email this time.
Although I was applying in April, I applied to the batch starting in August because my mum’s 50th birthday was in July and attending that was non-negotiable. I was skeptical of my ability to line up a job starting in November and it didn’t make sense to hang out in Canberra with nothing to do, so I packed up my life and moved (and myself) back to Jakarta.
I’d given the presentation on duffer but it turned out that Haskell and Git were both more interesting than I realised, and so I continued working on it.
Both my parents work in IT so their hope was that I would be able to help them with some projects they were working on until I left for my batch. Instead, what I ended up doing was showing up at work and ignoring them for the rest of the day in favour of my project. This was not the best idea for my relationship with my parents, but I definitely got a lot better at Haskell. Fortunately for me my parents are incredibly supportive :).
My mum celebrated her birthday in Bali, and I insisted on bringing my laptop so I could keep my Github commit streak going. This turned out to a good decision because that day the RC mailing list thread welcoming new batchlings was started. I ducked out of celebrations and spent a while agonising over the perfect introduction.
Two weeks later I was in New York.