A summary of my time at RC
17 Feb 2016RC is over for me, or at least the in-person component (RC-ers never graduate, remember?). This post is a reflection of the things that I learned there, as well as my highlights and lowlights of the past 3 months.
tl;dr: had a great time, learned a lot. If you want to get better at programming and also meet a whole lot of smart, passionate people who will help you do it, RC is the place.
Things I learned
I gained a heap of object-level knowledge:
- I learned a lot more about Python, including decorators and generators and pickles, and I finally got to grips with classes by working on multiple projects
- I learned about common computer science data structures and algorithms at workshops organised by Pauli and Javier; I coded some of these up during whiteboarding sessions
- I learned how to use Flask to make Web applications
- I learned how to use d3.js to make interactive visualisations
- I learned about test driven development, and the modules for this in Python
- I played around with web scraping in Selenium
- I read a lot about modelling linear regressions in Gelman and Hill, and practiced these in R
- I learned about relational databases, and using them to store and query georeferenced data
- I learned how to use the tweepy library to scrape Twitter data
- I had my first taste of AWS (specifically RDS for serving a database, and S3 for storing data). It was prohibitively complex for a beginner.
- I learned how to quickly knock together a web page with HTML/CSS/Javascript and style it so it looks pretty
- I learned such things as Monads exist… but I still don’t understand what they are :D
I also learned less tangible stuff:
- I gained confidence in my programming ability, and gained a greater understanding of where I fit in the programming ability spectrum
- I learned to enjoy whiteboarding! I went from ‘I am terrified I can’t even write’ to ‘this is fun, let’s do another one!’
- I greatly broadened my knowledge of the programming ecosystem by seeing what kinds of projects other people were working on
- I updated my expectations for how much I can hope to achieve in a certain amount of time. I seem to achieve less than I think I will on a given day but learn faster than I expect to over successive days/weeks
The best bits
Here’s my RC highlights reel:
- Making Planigale with Dave, and getting featured on Jerry Coyne’s blog
- Running around Manhattan on NYE with Shad, Andrew, Diego and Darius
- Having other people be excited about stuff I made
- Playing in the snow with Ezekiel
- Experiencing the slow seeping of understanding about functional programming principles
- Friday night talks, and the amazing projects people had made. A few of my favourites were Javier’s pixelarttoCSS, Carrie’s painting colour theory ML and Jesse’s Fourier transformations
- Singing bad songs at karaoke
- Defusing virtual bombs with multiple people.
- Everyone’s excitement when Allie brought in her Arduino-hacked knitting machine
- Making origami cranes over Christmas
- Getting Chinese food, and Peruvian food, and Malaysian food, and Mexican food, and …
The not so best bits
For balance, here’s my RC bloopers reel:
- Spending ~30 days (really, I checked my notes) at the start of my batch being confused about what to work on
- Spending way too long worrying about housing for the second half of my batch
- Getting a cold and RSI in my last week so that I effectively stopped typing
- The days when I felt like I didn’t move forward with my project
- Feeling project envy when everyone else seemed to be making awesome stuff
This post has turned into a list splurge. I will just finish up by saying, I am very glad that I made the decision to come to RC. I can’t think how long it would have taken me to learn or encounter such things, or met such a community, had I not done so.