Thorsten Ball wrote a really thoughtful piece about LLM-based coding assistants. A lot of accomplished, productive engineers use them. Adaptability is important for software engineers. Why not dive in?
I’m not passionately against coding assistants, but neither do I use them on a daily basis in my code editor. I use Claude occasionally to write some shell script or tell me how awk works. A lot of folks I respect are using these coding assistants all day. There’s obviously something there.
Without laying out the full cheesy analogy to the recent political events, needless to say we should all be vividly aware that people are bound to make decisions based on a cloud of emotions, prejudices, assumptions, cultural narratives, and reckons.
So, taking Thorsten’s well-argued piece as true, which I think it is - LLMs are pretty good at a lot of things and are a legitimate labor-saving device used by professionals - let me poke around at some of the narratives.
One of the primary vibes of modern-day engineering is the absolutely overwhelming complexity of everything. If you work on servers, it’s the sprawling mess of Kubernetes. Or you work on client-side applications and it’s React. Or you swear off React and embrace the web platform, which relies on the gigantic Chromium codebase. Did you know that V8 has three different optimizing compliers within it? If you’ve held on to the simplicity of CSS, well, it’s now a much more complex language. CSS has nesting and variables and it’s getting the masonry layout thing soon, too. Even if you’re working on low-level compiler and language design, you might have to use LLVM, which is gigantic and would take a lifetime to fully understand.