There’s this idea in philosophy and the liberal arts that two opposing ideas can both be true. There’s many versions of this, but my personal favorite is F. Scott Fitzgerald’s version. In an essay titled “The Crack-Up,” Fitzgerald wrote:
The test of a first-rate intelligence is the ability to hold two opposed ideas in the mind at the same time, and still retain the ability to function.
I’ve been thinking about this a lot lately with generative AI and LLMs, especially at it relates to my profession of software engineering. I think both these things are true:
- LLMs are a transformative technology for software engineers
- LLMs are over hyped and over used in software engineering
It’s easy to get someone on your side for either of these statements. Such is life in our too-online and too-political culture these days. It’s rare—and in fact, I’m not sure I’ve found anyone yet to fully agree with me—that both of these statements are completely true.
The reason for this goes back to that Fitzgerald quote. It’s really difficult to continue to function when confronted with opposing ideas. We simplify to make things easier on us. I won’t be so bold as to claim a first-rate intelligence for myself, but I do like to live in that contradiction. I find it’s where the really interesting work is. This is why I continue to lean in with LLMs for coding when many of my open source colleagues push it away. It’s also why I continue to challenge my enterprise engineering colleagues who are happy to seed complete control to the LLM.
I’m trying to find the right balance between these two ideas for myself. I hope my industry can figure it out, too. We would end up in a better place if we could.