I read these kinds of comments and wonder what makes reality so different for us. I personally have found AI has the easiest time in the world following existing patterns. At my workplace, our frontend code is so well organized most of the time all the AI has to do is copy and paste an implementation from somewhere else and change the names, and it gets right pretty much 100% of the time
Every workflow is highly personal, so there's no real reason to argue about it. Depending on the work, some tasks become patternized and others don't. Most people overestimate themselves as being near average, and some of them are actually unskilled. There's no point in fighting with them.
Even on HN, people don't comment purely out of 'rationality.'
I think AI generates well patterned code. Essentially, it handles a lot of situations with standardized code. But recognizing those patterns and knowing how to implement them are different things.
In programming, there are people who know how to implement something but can't explain the contract or the model behind it. For those people, AI might not be very useful, or they might be one of the rare few who write code far better than AI. Either way, the fact that an AI beat a top competitive programmer is enough to say it performs better than most people on HN. There's no point in arguing with them.
It's not that they're necessarily wrong. It's that they tend to generalize their own personal workflows.
AI can't do software engineering, but it can code well. Software engineering is the problem of transforming a complex open system into a closed one, taking a PM's requirements and building a single system out of them. AI can't do that. Why? Because AI can't adjust emphasis the way humans do. The design for frequently accessed parts and rarely accessed parts should be different, but AI treats everything uniformly, which makes it harder to modify later.
On the other hand, once a problem is closed and well defined, AI does much better than most people. It's logical and doesn't make the kind of leaps humans do, at least with frontier models. So there's no point in arguing with them at all.
Their experiences are based on their own workflows, so their perceptions naturally differ. And it's hard to tell whether they're saying it's bad because they truly understand it well, or because they don't understand it at all.
I'm not saying they should live in an echo chamber, but there's no reason to argue with them. It's better to trust statistical facts.
Could be a symptom of which languages we use and which languages are in their training sets. I primarily write F#, which is a functional language that's compatible with the object-oriented C#. When AI tries to write code in my F# codebases, it almost always ignores the existing patterns/styles and tries to write it like an OO language. It has a weird desire to use mutability instead of the default immutability, for loops instead of pipes/monads, huge if/else blocks instead of pattern matching, etc. This is all very un-idiomatic for F#, not what a human programmer would write unless they were deliberately trying to write it like C#.
Maybe it's better in Fable/Sol, but it was a problem in Opus when I still used Claude, and it's still a problem with the Qwen and Deepseek models I use now. Either way, it seems to me that your code has to already conform to the patterns they want to write, or you're going to end up with new patterns.