My First Week At the Recurse Center

by Joe Jean | on May 31, 2015 | under: Programming

This summer I'm lucky to be attending the Recurse Center (RC). RC is a 12-week long self-directed retreat for programmers. It is a place one goes to become a better programmer by working on programming projects of one's interest.

We started the first day, Monday the 26th of May, with some welcome talks by the RC founders, facilitators and employees. The Recursers from the first batch also gave us some really good advices. Then we proceeded with checkin for the day. During checkins we split into smaller groups and each person talks a little bit about what they did the previous day and what they are planning to do during the current day. Personally, checkins really help me stay on track.

After checkin, I started working through the Nand to Tetris course materials where one learns how to build a computer from scratch. After a couple of hours, I lost interest and tried the build your own lisp course which is a course that teaches one how to build a Lisp with C. So far, I'm enjoying it while learning a lot about C and building a programming language.

I tried not to do only one thing per day, so I ended up developing a chrome extension that colors in red the score of the top 5 most voted posts on Hacker News. I got at least two things out of this small project. First, I learned how to develop chrome extensions. Second, I enjoyed the satisfaction of finishing something I started.

I wanted to start contributing to open source projects. So I paired with Tom, one of the facilitators at RC, who introduced me to the bpython project. Tom taught me how to get acquainted to the bpython code base, or any large code base for that matter, by making the program print something on the screen. To do that we first had to identify the main file which is run when we launch bpython. We did that by using the unix command “which” followed by the name of the program “bpython” in this case. “Which” is a unix utility that shows the full path of shell commands. I'm still in the process of playing around with bpython hoping that I can start contributing to the project soon.

At RC, every Friday there is an optional interview preparation session. During this week's session we worked on a command line phone book application. In my implementation I used python with sqlite. Other people used JavaScript, Go, Java etc.. ; a reminder of how diverse Recursers are. Tom helped me and gave me some great feedback on my implementation.

Overall, my first week at RC was a good one. At the beginning I was a little nervous and I was not comfortable revealing my ignorances. But as I interact more with the facilitators and fellow Recursers I'm becoming more and more comfortable saying “I don't know” which is something that is strongly encouraged at RC. After all, every time I keep my ignorances secret, I miss an opportunity to learn something new and get better. Jake Scruggs summed it up well when he said:

"Tomorrow I need to look stupider and feel better about it. This staying quiet and trying to guess what's going on isn't working so well."

© 2014-