I get tired of folks drawing boxes and arrows and waving their hands about their designs. I ask for proof that it works they way they say it does and I get nothing.
People seem to like GenAI tools because they can avoid doing the work and get the results. It's like having a genie or a monkey's paw... with similar consequences.
If you don't understand the concurrency problems before you're not going to understand them by staring hard at the code that a chatbot generated.
Sometimes you can get the job done by using a tool like a genie, and that’s awesome (it’s the goal of abstractions IMO). Sometimes you can’t.
You don't always need exhaustive "proof that it works" other than running the thing and looking at the output.
If you can get the job done with an LLM without understanding the code it wrote, then that's awesome. I've seen it multiple times with non-technical people who just want to do some small thing with a Python script. They solve their problem, send their report/email, and move on.
I don’t think anyone would find fault with this argument. People who are wary of LLMs, including myself, are in fact wary of lazyness. Getting the (current?) job done is only a small part of building a system. The fact is you have to maintain it or extract the embodied knowledge later, and that’s where no thought have not been given.
In the Tidy First? book by Kent Beck, he explains that the value of software is both in its current behavior and the future possibilities that the structure provides. If there’s no future to worry about, LLMs may be a valuable tool.
The conversation in this thread was about how LLMs will change software engineering as a profession tho...