Centaur Programming
In 2014 while I was an intern on the Dart Language team, Google hired Erik
Meijer as a consultant to work on Dart’s async / await compiler. Erik is
an world class expert in this domain, but was unfamiliar Dart, so they had
a senior member of the team sit next to him all day to smooth over the
bumps that people usually hit when learning a new language and codebase.
I think the senior dev also did much of the typing, but I’m more fuzzy on that.
Recently I’ve been using LLMs to write code for some algorithms research. I chose Rust even though I haven’t used it in ~8 years, and with the AI assistance, the workflow is close to what I imagine Erik had. I’m still reviewing and making modifications to the LLM-generated code, but almost all of my labor is at a layer above the programming language.
It’s fun, and certainly a productivity boost, but it’s not how I want to do every project. I still like programming by hand because I enjoy the process of learning and refining my craft, and in the past few weeks, I haven’t learned much about Rust. The code Claude has written seems fine, but I wouldn’t vouch for its cleanliness or correctness, which is fine in a research setting, but wouldn’t cut it for code that I would feel comfortable running in production.