I feel like those examples are considered difficult because they're niche topics, but aren't actually all that difficult in a general sense. What I consider truly difficult are things like taking a ticket and implementing it in a preexisting codebase, using a clean and reasonable design that fits the existing style and makes sense to a human, and avoids the footguns I learned by working with the codebase for over a day.
If you said this in 2025 I would've 100% understood, but to be honest getting AI models to do a pretty good job on day-to-day ticket work has become so boring that we don't even bother using the top tier models and higher effort slots for that anymore. I personally wind up tweaking the results a lot and recursively having fresh agents review the diff, but that's just because I'm picky; in a lot of cases the first diff is actually pretty damn decent.
Compared to what I am doing at home experimentally, I feel like day-to-day work is absolutely nothing. Not only am I also working with existing codebases in my experimental prototyping, but I am also doing things vastly more complex with vastly harder constraints.
This is true in some sense.
Getting the AI to output code that you like is difficult.
As an example, let's say in React you have a "useLocale()" hook.
The AI will happily pass down locale as a prop to 5 child components instead of just calling the hook in the component.
A review from another model did not flag such stylistic issues either.
I believe that the latest models are very good at functionally achieving the goal, but still have poor taste for UX or code quality.
The most productive use of AI for software development happens in an environment where you do not review the code but test the UX end to end.