Recurse Center Application
It took a bit longer than a month, but I recently finished reading "The Prize", a history of the global petroleum industry. Since the first oil well was drilled in Pennsylvania in 1859, the industry has alternated between periods of glut and shortage. During periods of glut, new sources drive the price of oil below the cost of production, leading to waste and consolidation. Periods of shortage spur government support for conservation and costly new exploration efforts like offshore drilling.
It's fascinating how the conditions of one period of glut precipitate the next period of shortage, and vice versa. Although this cycle has happened several times since 1859, the political and technological landscape has changed dramatically each time: for example, shifting from vertically integrated global corporations owning oil concessions around the world to nationalized oil producers selling to a financialized global marketplace of refinement and distribution.
The dynamics of the oil industry also effect the political and technological landscape as well, and it's interesting seeing similarities in the present commoditization of LLM "tokens".
I want to be at the peak of my abilities as an individual contributor, a T-shaped generalist software engineer with a strong technical specialization in some area of platform engineering. I want to be beginning to combine these technical skills with a body of domain knowledge (for example, I've developed a knowledge of the art market, but I've since decided that it's not something I want to be domain expert in long term.) I want to be leading without explicit authority, helping people cope with the stress of adapting to a world that's rapidly changing, sometimes in disturbing ways.
I think there's a number of orthogonal reasons I want to attend RC, all important:
- I want guidance in doing open-ended research and presenting it to others in a non-academic context
- I want to focus on more applied topics (like CI/CD, building example applications) that may not be the best fit for original academic research
- Being a part of RC will give a good excuse to reach out to people in industry and ask about their experiences
- I want to be able to adjust the scope of my research if someone gives me a better idea
- I want to get a new job soon, so I have a limited time to pursue this research
- I want to build my volitional muscles: spending the past decade as a consultant and IC has caused literal and figurative muscle atrophy
E.g., things you want to learn or understand better, projects you want to build or contribute to, etc. Consider where the edge of your abilities is, and where you’d like it to be at the end of your batch.
I'm interested in doing a "Comparative CI/CD" study, inspired by the "Build Systems a la Carte" paper from 2020. Basically, I feel like I lack a generalized model to evaluate CI/CD systems (I'll especially focus on deployment, which isn't covered in the aforementioned paper). To do this study, I'd like to do a sort of "inverted demo TODO app": set up CI/CD for the same non-trivial application using a variety of different tools, both open source (ex: Bazel, Ansible, ArgoCD, Gitlab, Spinnaker etc) and commercial (Buildkite, GitHub Actions, etc). Then I will figure out how to evaluate and characterize the different systems (ex: which support which aspects of GitOps? what alterantives are there to GitOps?), and publish my findings and example applications on GitHub. I want to strike a balance between the formalism of the "Build Systems a la Carte" paper and the box-checking and buzzwords of industry blog posts.
If time allows, I will also modify the example application to include some large assets that need to be regularly deployed (ex: a machine learning model that's periodically re-trained). I will also evaluate recent advancements in the field (ex: Uber's ML-based smart merge queue, CI/CD for infrastructure as code), and perhaps try to contribute some novel code for problems that I've identified (ideally to some existing open source project).
If other RC particpants are looking to ship their projects, I could also assist with setting up their CI/CD (this could help me get feedback from the users of the systems).
Do you plan to attend RC in-person, remotely, or some combination of the two? How will this affect your working style?
In person, I live in Yorkville, Manhattan so I should be able to show up in person most days.
- Applying to jobs + interviewing
- Some amount of work on a side project that I help manage (AccessKit - see accesskit.media for some information about it)
I'd be interesting integrating both of these into my work at RC if it makes sense.
I've been programming professionally since 2012. After some interships at IMAX, Priceline, and Moat, I led small teams at a devshop I started with my friends. I did a lot of frontend dev during the heyday of React, then shifted to a more platform role helping unblock my colleagues. This later led to me taking a platform engineering role at Sotheby's during the pandemic, when aucitons were rapidly shifting to hybrid online-in person model, with over 50% of bids coming from online clients. At Sotheby's I acted as a staff / senior staff engineer and leader of the platform team managing our Kubernetes cluster, monorepo tooling, GraphQL layer, observability and much more.
Besides my professional work, I find hashing of all kinds (geohashing, perceptual hashing, etc) intellectually satisfying. I also like working with WebGL, audio and video.
I have a degree in Information Science from Cornell University.