Hello!
Hi! My name is Ed and I’m going to be writing here about my time at the Recurse Center (which I’ll call “RC” or “Recurse” for short a lot in the future). For the uninitiated, it seems like a good way to describe it is that it’s a writing retreat, but for programmers, where you work on projects that really push your coding skills. It’s all self-directed — you’re here to do what excites you! — but with a good set of ground rules and helpful people/tools to assist you in becoming a much better programmer. I’m planning on blogging what went well, and not so well, during my time here, and hopefully I’ll be able to share some cool screenshots of what I did and helped other people to do!
Why RC?
I’ve been programming for a long time (this year it’ll be 35 years since my first BASIC program as a child), but like most programmers, I know there’s still tons more for me to learn about. In particular, I want to learn more about functional programming, which I’ve dabbled with a bit in some tutorials (and Java Streams and such), but which I want to really dive in deep in with on an actual app to see how to actually use it in the “real world”. I also want to learn more frontend web programming, since historically I’ve been more of a backend web programmer (often in Java).
I’m in the second Fall RC “batch” (hereafter referred to as “Fall 2”) in 2022, with your “batch” being your cohort that you talk to and pair program with, learn from and share knowledge with, and help realize their cool programming projects. I’ll be in this batch for the next 12 weeks (including today), of which the first 6 weeks overlap with the previous batch (Fall 1). I’m definitely privileged to be able to take off these next 3 months to level up my programming skill significantly, so I’m grateful to have this opportunity!
RC goals
My goals (tentative, flexibility is good!) in this batch are:
Pair with and meet lots of other programmers (the #1 piece of feedback alumni and staff keep mentioning is that everybody wishes that they paired more!)
Learn some new languages / frameworks, especially Elixir, Phoenix, LiveView Native, SwiftUI (and iOS app development), Flutter, Kotlin, Rust, and Haskell. Some of these are to focus on functional programming (which is tough to get people to pay you for, in my experience!) and the rest are to focus on frontend programming.
Blog regularly about my experience (which I’m doing currently!) Not sure exactly how much yet, but it’ll be whenever I think I have something worth writing about. I think a minimum of once a week, at least, is a good baseline to make sure I don’t get lazy.
In the spirit of reflection, I’ll definitely be reflecting on these goals at the end too and see how they went.
My first app: IMDB data
My first app is going to be something I’ve wanted for a while: a basic app that displays a small subset of customizable IMDB movie / TV metadata. I look up stuff a lot on the IMDB, but it takes a while to get to the fields I want, and I hate seeing spoilers and other things when I’m looking up this information. So I think it’ll be a great chance for me to make a thing I wish I had.
I’m planning on implementing this app with Elixir, Phoenix, and LiveView (and LiveView Native). People seem to love them (Elixir is the #2 most-loved language on StackOverflow’s 2022 developer survey, and Phoenix is the #1 most-loved web framework), so I think these are good candidates for learning something new that’s functionally-oriented in frontend web development.
What I did today
Today, the Recurse Center faculty explained a lot of the basics over Zoom, mainly how the websites work in detail and how the culture works at RC. I also got to meet lots of current Recursers (as the people at the center seem to be called). Every interaction I’ve had so far with all of them has been great — one of the staff mentioned that the thing they’re least willing to compromise on when admitting Recursers is “not being a jerk”, so I shouldn’t be surprised that everyone I’ve met so far has been kind and encouraging! (I’m a big fan of the RC social rules, which have already helped me outside of Recurse.) It’s great to meet so many diverse and interesting and friendly and ambitious people here. I think I can tell already that these are my kind of people!
Next time
Tomorrow, I’m planning on actually getting some code down for my IMDB Elixir/Phoenix app. I’m thinking about using Digital Ocean to host, since I’ve heard a lot of good things about them. Also, having read (and done some of the exercises in) a whole book before this batch started should help me hit the ground running.
That feels like plenty for one post. It feels good to be blogging again, since I haven’t blogged since I had a LiveJournal (a couple decades back!) Hope my journey can be interesting, and maybe even inspiring, to you all too!