Planning for Recurse Center

It’s been quite some time since I have posted here (four years!), but the stars have aligned for what makes sense for me to start again.

Most of the past four years I worked at Perka, which was my first full-time software development role. I am extremely appreciative of my experience there; my fellow teammates were always willing to guide me and were open to my questions on best practices. If I had to sum up the major items I learned at Perka:

  • design patterns
  • proper testing
  • debugging techniques
  • working with multiple teams to realize a product goal
  • the value of code reviews

While my time at Perka was without a doubt beneficial, I began feeling a yearning to learn material outside of my immediate day to day work. Generally I do spend time outside of work to learn new material, but it can become difficult, as I have many competing interests.

I should also state I do not have a formal computer science background; most of my knowledge is self-taught. My time at ITP taught me the fundamentals of programming and gave a lot of time to practice, but it’s by no means all encompassing — and that’s by design. ITP’s focus is on getting an idea off the ground that is demonstrable and testable for users, not writing enterprise-level code. Which makes a lot of sense when you think about it – future-proofing a codebase isn’t really a concern when you’re building projects that you don’t know are viable and will ever see the light of day outside of a course.

With that said, I decided to apply to Recuse Center. RC has been on the back of my mind for quite some time. I am really excited to join a community of fellow developers who are focused on learning new areas of programming for the sake of learning for an extended period of time.

What excites me most about RC is it’s self-directed. I am have complete autonomy on what I will learn. For now, I will mainly focus on:

  • a deep dive into algorithms and data structures. ϟ
  • getting a more advanced understanding of the Java language.
  • writing complex SQL queries.
  • playing with some newer JS frameworks. ᚬ
  • and if there’s time, learn the fundamentals of Haskell.

Tomorrow is my first day and I look forward to posting updates here as I progress. I plan on doing so to keep track of my work. Additionally, doing some meta-analysis of my progress will certainly deepen my understanding of what I am working on.

ϟ: I plan on using Wayne/Sedgewick’s Algorithms 4th Edition and Skiena’s The Algorithms Design Manual.

ᚬ: most of my experience to date is building web apps with ES2015, Backbone.js, Gulp, Browserify, and some custom JS libraries internal to Perka. I am hoping to log some more miles with React/Preact and Vue and Webpack.