Says anyone who has tried to do anything requiring the smallest amount of computer science or computer engineering. These models are really great at boilerplate and simple web apps. As soon as you get beyond that, it gets hairy. For example, I have a clone of HN I've been working on that adds subscriptions and ad slot bidding. Just those two features required a lot of hand holding. Figma Design nailed the UX, but the actual guts/business logic I had to spend time on.
I expect that this will get easier as agentic flows get more mature, though.
Then the only place that novelty will occur is in the actual study of computer science. And even then, a well contexted agentic pipeline will speed even R&D development to a great degree.
One very bad thing about these things is the embedded dogma. With AI ruling the roost in terms of generation (basically an advanced and opinionated type-writer, lets be honest) breaking away from the standards in any field will become increasingly difficult. Just try and talk to any frontier model about physics that goes against what is currently accepted and they'll put up a lot of resistance.
> a clone of HN I've been working on that adds subscriptions and ad slot bidding
Wut, what's the purpose of that? Is this just a toy learning project? Would it be to make money off of people who don't know that an ad-free version of HN exists at news.ycombinator.com? Will you try to sell it to Ycombinator?
I'm glad you are not being competent enough to create a paid version of HN with the help of AI
I’ve been pleasantly surprised how useful it is for writing low level stuff like peripheral drivers on imbedded platforms. It’s actually-simple- stuff, but exactingly technical and detail oriented. It’s interesting that it can work so well, then go wildly off the rails and be impossible to wrestle back on unless you go way back in the context or even start a completely new context and feed in only what is currently relevant (this has become my main strategy)
Still, it’s amazingly good at wrestling the harmony of a bunch of technical details and applying them to a tried and true design paradigm to create an API for new devices or to handle tricky timing, things like that. Until it isn’t and you have to abort the session and build a new one because it has worked itself into some kind of context corner where it obsesses about something that is just wrong or irrelevant.
Still, it’s a solid 2x on production, and my code is arguably more maintainable because I don’t get tempted to be clever or skip clarifying patterns.
There is a level of wholistic complexity that kills it though. The trick is dividing the structure and tasks into self contained components that contain any relevant state within their confines to the maximum practical extent, even if there is a lot of interdependent state going on inside. It’s sort a mod a meta-functional paradigm working with inherently state-centric modules.