Halfway Through Recurse Center

For the past six weeks I’ve been at Recurse Center (RC). Today is the halfway point of my time here, so I spent some time reflecting on what I had learned and accomplished so far, and assessing what I’d like to focus on for the next six weeks. One of the things I’d like to do is blog more often (which I haven’t really done, hah), so this may be a doozie.

Goals coming in

Let's start with the two main reasons I wanted to come to RC:

  • I wanted to focus on exploring the world of software engineering – filling in knowledge gaps, seeing what kinds of projects people worked on, and playing with code.
  • I knew I wanted to move on from Venmo (which was great; it was simply my time), but I didn’t know where to yet. RC felt like a good lily pad.

If I were to extend these reasons into specific goals, we'd get:

  • explore different areas of software engineering
  • further understand things that have confused me
  • pair with others
  • blog regularly
  • dive deep into one thing
  • cartoon about programming / my experience

I had a whole list of projects that I thought could be fun that would help me achieve these goals, such as:

  • build a JavaScript compiler
  • build a bittorrent client
  • become familiar with one database and how it works

Looking 2 weeks back

It's been six weeks. How did I do addressing these goals? Let’s take a look at what I have learned and built over the past six weeks:

  • Things I’ve learned (e.g. read about/discussed/taken notes, on varying levels)
    • machine and deep learning
    • vim plugin managers
    • shells
    • kernels
    • abstract syntax tree
    • compilers
    • cryptography
    • p5
    • turing machines
    • swift
    • jekyll
    • elm
    • web server
  • Things I’ve built (e.g. coded/presented)
    • brainfuck interpreter
    • calculator
    • affirm.sh
    • green rain
    • lights out
    • sranso.com
    • game of life
    • web server
    • algorithms course
    • given presentations
      • python calc
      • elm game of life
      • improv

If I were to sum this up, I’d say I’ve focused on the following things:

  • interpreters
  • Python
  • Elm
  • JavaScript
  • exploring different things

Which isn’t so bad! That’s a nice diversity, and I think I addressed about half of my goals. I fell short on the last few goals listed above.

Looking 2 weeks forward

I have six more weeks left of RC. I don’t need to have the same goals now as I did six weeks ago. So, here’s what I’m thinking:

  • dive deep into one or two things for the remainder of the time
  • continue to pair with people
  • blog once a week (can be a writing or a drawing, long or short)
  • learn algorithms

For the “deep dive,” I’m thinking of writing a really simple version of React using pure JavaScript. For pairing, I’m thinking of pairing on parts of the above project, as well as other small-ish projects like continuing Elm and building something in p5. For blogging once a week, I hope to blog on what I’m learning / working on / noticing. For learning algorithms, I think I’ll start the Princeton algorithms course (I was doing the Stanford one, but I didn’t particularly enjoy it).

Well. That’s what I’ve done, and that’s what I plan to do. Bada bing.

23 Sep 2016