Matt Ambrogi

Recurse Center Weekly Recap #1

While I'm at Recurse Center, I'll be posting a reflection at the end of each week. I'm going to try to keep these brief. I'll focus on recapping things I learned, programs I worked on, and technical challenges. But I'll also cover interactions with other Recursers.

This first week was exciting and slightly overwhelming. I barely wrote any code. My time was spent meeting other Recursers, learning about their backgrounds and what they're planning to work on.

Everyone I've met is phenomenally kind, interesting, and interested. I was excited to connect with a few people who share some of my interests. Namely, build web apps with Python (Django/Flask) back-ends, machine learning, and blockchain. I'm looking forward to starting to work with some of them soon.

The week was filled with more interesting moments than I could recount. Here's a few that stick out:

  • Someone demoed an exceptionally fast algorithm for calculating the Nth position in the Fibonacci series using matrix multiplication.
  • I met a group of others who are interested in training and deploying ML models. We're going to set up a weekly ML practitioners meeting.
  • I pair programmed with two engineers with far more experience than myself. I felt nervous for a moment, then had fun once we got into it.
  • I was talking about redoing my personal site with Django and someone instantly sent me the open source code for theirs.
  • I got feedback and refined what I want to work on just by means of giving my elevator pitch dozens of times over the week.

I thought about my curriculum a lot before this week. Most the conversations I had made me feel that I had outlined the right approach for myself, but they also illuminated areas where I might want to double down or ease up. I definitely feel that my plan to focus on Python (building web apps, reviewing my CS fundamentals) is the right way to start. Although I had been a bit burnt out at my job, I could feel how strong my interest in ML still is. So I also felt a confirmation of my desire to spend some time focused on that here. I also am looking forward to working on algorithms, more so than I was before this week.

Another realization that came from my conversations this week was that if I'm not particularly interested in front-end development at the moment, there's no need to focus on it. So I'm going to take that to heart and really focus on building interesting backend services. I'll take a semi-functional approach with the front-end. Learning what I need to allow myself to express what I want. I am still planning to spend a week or two diving into React and JavaScript. I have a few reasons I want to do this. One, I want to see what all the React hype is about. Two, I want to be able to collaborate with others. Three, I don't want to feel constrained by my front-end skills. But I'm going to try to take a functional approach. For example, allowing my projects to dictate what I learn as opposed to diving deep into area's of JavaScript or React just for the sake of it. I'm saving my deep dive energy for the things I'm focused on.

I'm very excited to get into it this week. Although I didn't have too much time to program last week, I got myself ready to hit the ground running this week. I reviewed my old Django projects, spun up a toy app or two, and explored Flask a bit as well.

This week I'll be laser focused on two things:

  1. Getting through the book Django for API's by William Vincent
  2. Completing chapter two of Composing Programs which focuses on the concept of abstraction.

If I can get that done and be in a good place to start building a few projects of my own with Django Rest Framework, I'll be happy.

Outside of programming, my biggest focus for this week is forming and sticking to a routine for myself. A few members of the RC faculty pointed something interesting out this week that I hadn't thought about before. RC is a wonderful chance to program and learn. But it's also a rare chance to experiment with something that is rarely so completely in your control: how you spend your time. I think there's something big to that. With that in mind, I'm going to lay out a bit of a schedule for myself to start. But I want to spend a bit of time every Sunday reflecting and thinking about where I might tweak, experiment, or completely do away with that routine. I'd like to keep a mindset of continuous observation and adjustment - like a pilot during a plane's landing.

In a way, this coming week feels like the first real one. I'm excited to get to it.

- 6 toasts