It's taste can be atrocious, so we're not replacing engineers entirely yet, but it's clear that it's almost hands off for any task I would have done as a consultant in 2012, for example. And, contrary to my opinion a couple months ago, I think taste is a pretty shallow moat, ultimately. Many of my clients when I was operating a consultancy had plenty of taste, if that's all they required, and I think it'd be foolish to assume frontier models won't acquire taste eventually.
I do think that, ultimately, the tippy top of the pinnacle for things like truly original design work, truly original work of any kind, will take a long time to replace. But most software engineering isn't moving the boundaries of the possibilities of humanity, it's making sure that we can turn $0.10 of infra spend into $2 of revenue reliably.
[0] https://research.google/pubs/the-role-of-visual-complexity-a...
As far as frontend vs backend, there’s a greater scope for fuckups when dealing with the backend. Frontend problems tend to be more transient. So the stakes are lower, which means that the accountability of humans has less value.
Idk, I like AI when it works, but it drives me insane when it keeps making errors. I've had a few errors which I figured out from documentation fairly quickly, provided said docs but the AI would still mess it up somehow.
The AI is not intelligent. Its really hard to grasp cleanly. But it can't do anything logically like we do. Its pattern matching. It has to be a pattern its seen; then it can assemble them. If there are competing patterns - it'll trip up being consistent. Long established libraries and languages that change the least, it'll be best at. Anything newer it'll be bad at - even with documentation. The only way out is to give it tests, then it can loop over several simpler problems, where the errors (failed tests) match well onto the more basic primitives that don't really change (wrong string, wrong type, wrong structure, etc)
I think I finally have a way to describe how AI works: infinite experience, none of the smarts.
1) A designer that uses Figma correctly (using well defined components / design systems) 2) A front-end framework as close to HTML / CSS as possible for the visuals (I have success with Web Components / Lit) with Figma MCP
The front-end is usually one-shot using frontier models. However in my experience, designers are all over the place with using Figma correctly.
Every engineer can now produce things in the front end that doesn't look like complete and utter garbage, sure, but everyone is also producing the new-era of Twitter Bootstrap pages. It all has the same touched-by-AI look and it might as well be customer kryptonite from everything I've experienced at my workplace with customer surveys and collaboration. It has raised the floor substantially for internal tools and admin pages though.