AI
This was written a while ago. It felt important enough to write down.
I have just spent this weekend by myself, doing something I love. Coding. Vibing. I had this idea. It has been with me for a long time now, and I really wanted to see it realized. And I mostly have; maybe more efficiently than I could have done on my own.
And yet, it feels unfulfilling. Like it wasn’t me that made it. That some machine shaped my ideas into something that looks like code. Not code that I would have written. Code that I don’t feel an ownership of. Code that I sat and watch get created. I literally made dinner while one feature was being implemented.
Some of it is elegant, while large parts of it are not. I’ve tried to use my years of experience to help guide it, but the feeling of it is more like I “program managed” it into existence.
It feels as if the thing that I most enjoyed about programming — making elegant solutions using the opportunities and intricacies of a programming language to solve problems — is no longer relevant. It feels as if that thing I thought was the most significant part of the value I brought — deep knowledge of programming languages and experience — is no longer valuable.
And yet, I know that my skill-set isn’t obsolete just yet. There are still many edge cases where an LLM cannot compete. But that frontier is constantly moving. I have had many experiences where the LLM has solved difficult problems in minutes, that would otherwise have taken days of research. It should be a good thing; but it doesn’t feel like it.
It seems that with LLMs, the craftsmanship of programming may be fading. Likely replaced by a different kind of craftsmanship in using LLMs; and having experience in guiding the models more. And yet I can’t really argue against using them; the gains seem too considerable. Even in the cases where I didn’t use the code it produced, I learned something from the experience.
I saw someone who wrote about how the code itself was never the thing they were interested in; they wanted to build solutions to problems, and the code was just the hoop they jumped through to make it. For me, it has been the other way around. Elegant code has to me always been a source of joy, something I strive towards. I fear that is ending.
Even in simple tasks; elegant code was something to strive for. But LLMs now do the simple tasks; maybe not in an elegant way, but they do it quickly and with reasonable accuracy. And while the code they produce today would (in a world without LLMs) have become a maintenance nightmare later on; this won’t necessarily be the case with larger, faster and better LLMs.
I am clearly in two minds about AI. I now use it every single day, to solve larger problems than I would have even started working on before. The phrase “digging your own grave” comes to mind. But at least I am digging faster.
