> ...badly architected, often redundant, feature-bloated code which always looks good, even upon earnest review, but actually sucks and becomes extremely difficult to maintain in ways which are not obvious in code review.
I can only judge from my own experience but with or without LLMs, these are the codebases that I have worked with during most of my career. To me, much of the question is whether LLMs produce worse code than the me and my colleagues have done in the past and I don't think that's the case. It is however very common that people hold LLMs to a higher standard than human colleagues and then it's not a useful comparison.
> Identifying that habit as part of who you are is key to it being sticky.
This has always been key to me. I've succeeded to identify myself as a runner, as someone who speaks French, as someone who reads books. But my identification as someone who has meaningful programming side-project, who has a garden and so on is to weak to succeed.
In the same vein, at Volvo's factory outside of Gothenburg they have the obligatory museum. It's just that they don't showcase old, famous models. The museum is entirely built around car safety and how Volvo has worked with it. It is interesting with a company that has been so dedicated to their core values for such a long time.
The way this is told in elementary school in Sweden (source is Swedish) is that the Vasa was too narrrow, given it's height. So then the question is, how much wider should she've been to carry the extra height. Vasa's sister ship, Äpplet (the Apple) had a similar deck layout and was about a meter wider. As a layman, considering the technology at the time, it does not sound so much more wider.
I once watched a presentation by Dan North where he said that a microservice should never be bigger than your head. What he meant was that all the code for the microservice should fit on your screen and you should be able to put your head against the screen and it should cover the code.
IKEA uses acacia for some of their outdoor furniture. From the comfort of my Poäng-chair from the late 80ies I disagree strongly with the sentiment that IKEA furniture scratches easily.
I did a period of two years as the CEO of a smallish tech-company (~ 100 employees, turnover of 15M€) and it was stressful as hell even if we were doing OK financially. The big thing is that you're the last defender, everything difficult or uncomfortable task ends with you having to pick it up, for everyone it's a choice to pass it on to the next level but for you it isn't. This combined with the monthly "grades" in terms of commercial result which was new to me coming from a tech background was tough. In the end I chose to go back to tech but it's not something that I want undone, it was a learning experience and these days I'm a lot more careful to let things slip through to the next layer.
This is similar to the experience that I had with Erlang. After having spent time with it, I was hardly every surprised looking at any code and my brain could deal with the actual problems at hand without having to figure out how to apply what I knew about the language.
Anecdotally, programmer colleagues that view themselves as artists are generally harder to work with than those that identifies as craftsmen. It's generally much easier to have a sound argument about someone's work if they don't view it as their art.
This is the conclusion that I've come to as well after trying for way too long to find inspiration to those things that I either want to do (on some level) or need to do.
Habits are things you do that don't have a big hurdle. For years I've been able to run without feeling that there's a great resistance in doing it (I don't normally identify as a runner). But picking up some work that I want to do but don't feel it's the right moment to do has been a lot harder. Lately I've had some progress with at just doing tasks because it's become a habit when I have some time over.
I can only judge from my own experience but with or without LLMs, these are the codebases that I have worked with during most of my career. To me, much of the question is whether LLMs produce worse code than the me and my colleagues have done in the past and I don't think that's the case. It is however very common that people hold LLMs to a higher standard than human colleagues and then it's not a useful comparison.