Remix.run Logo
The AI Situation in Software Development(srikanth.ch)
31 points by srikanthdotch 3 hours ago | 40 comments
petilon 21 minutes ago | parent | next [-]

One aspect AI is weak in is controlling complexity. If you tell it to implement something it will go ahead and implement it, without considering how much complexity it adds to the system or weighing alternatives. An experienced engineer on the other hand may decide the feature is too minor relative to the complexity it adds, and may decide to not do the feature. Or he may make some clever compromises to get most of the functionality while keeping the codebase simple. AI is weak in this judgement, it doesn't spontaneously exercise architectural restraint. As a result the code may progressively become too complex even for AI manage, and it becomes whack-a-mole where you can't make a change without breaking something.

jvuygbbkuurx 3 minutes ago | parent | next [-]

I found it follows conventions and documentation well. So if you have a well designed core, it can easily add independent features without increasing overall complexity. Maybe it doesn't work in some very tangled domains like games, but some basic crud and saas stuff is pretty much a solved problem now with agents. They will trivially add features that humans would have pushed to a backlog forever as not worth the effort.

petilon a minute ago | parent [-]

Yes, for simple "leaf level" features where there are no big architectural trade-offs to make, AI works well.

orangecat 7 minutes ago | parent | prev | next [-]

If you tell it to implement something it will go ahead and implement it, without considering how much complexity it adds to the system or weighing alternatives.

Recently I asked Claude (Fable) to use multiple threads to speed up a computation that could take several seconds to run while the user was waiting. Instead, it found a way to start the computation earlier in the background while the user was doing other things, so that it would be finished by the time the user was ready.

demibabs 15 minutes ago | parent | prev | next [-]

Yeah but on the other hand, if you asked an LLM to implement a spec and it was like “I skipped this part because I didn’t like the complexity tradeoff” most people would be like “wtf why doesn’t Claude just listen to me”

petilon 13 minutes ago | parent [-]

Right, and that's why humans are still needed in the loop.

technotony 9 minutes ago | parent | prev [-]

Have you found any solutions to this? It would be a big unlock to give it this kind of judgement

lubujackson 6 minutes ago | parent | next [-]

I have actually found decent success recently (especially with Fable) giving it an "added line budget". This does more than anything else to keep it on task. The trick is knowing an approximate line count beforehand, but sometimes the LLM will push back on what it should cut. But usually it just doesn't add all those "nice to have" redundancies and multipage comments and unit tests that check if a certain phrase is still in the error message.

summarity 6 minutes ago | parent | prev | next [-]

Keeping a simple log of "accepted/rejected" avenues is basically all that's needed, maybe with a root style guide in the project. I've got several multi-day sessions in 5.6 Sol running without going off the rails in terms of complexity. After a while in this loop it actually starts to remind/berate itself to keep things straight-forward.

conception 8 minutes ago | parent | prev [-]

I haven’t used it yet but https://github.com/dietrichgebert/ponytail is somewhat popular.

qprofyeh 43 minutes ago | parent | prev | next [-]

With previous engineering trends like blockchains and microservices, you could choose not to jump on the bandwagon. However the coding agents trend is different and is changing the very fabric (sry for Claudeism) of software engineering, for better or worse. I do know we will never go back to mainly programming through code again, that’s for sure.

spacechild1 23 minutes ago | parent | next [-]

Fortunately, I haven't jumped the bandwagon yet, so I don't even have to think about going back :)

gdulli 10 minutes ago | parent [-]

People who are trying to sell you AI and people who are now dependent on it are desperate for you to believe in its inevitability.

dominotw 6 minutes ago | parent [-]

i used to think i love coding. putting some music on and getting into the zone churing code was the best feeling.

stragnely i dont miss that feeling and kind of dread going back to it

Foobar8568 26 minutes ago | parent | prev | next [-]

Knowledge work has changed...But it doesn't solve company internal governance nor politics. When it takes anywhere between 2 weeks and 3months to do anything ( including approvals for non prod access) in most organizations...Code has never been the problem.

solomatov 36 minutes ago | parent | prev | next [-]

>you could choose not to jump on the bandwagon

I think it's not an option. The benefits are just too large for me.

>I do know we will never go back to mainly programming through code again, that’s for sure.

I think, in some niches, i.e. where there's something not well represented in the training set, it still makes sense to write code by hand. But I am not sure that it will continue.

kreativ_py 24 minutes ago | parent [-]

poor reading comprehension, re-read and try again

skydhash 26 minutes ago | parent | prev | next [-]

> I do know we will never go back to mainly programming through code again, that’s for sure.

Say who?

reactordev 34 minutes ago | parent | prev [-]

There are still companies who refuse to believe this and still put Senior+ devs through hell during an interview process with junior level algorithm memorization.

In all aspects there will be dinosaurs and deniers and there will be embracers.

spacechild1 18 minutes ago | parent | next [-]

How can you assess the output of coding agents if you don't know about algorithms and other fundamentals of software engineering?

foldr 14 minutes ago | parent [-]

I don’t particularly mind algorithmic interview questions (they’re at least self-contained, somewhat objective, and something you can prepare for), but most software engineering has always been done by people with no knowledge of algorithms or compsci fundamentals. What’s being lost is coding fluency, not compsci knowledge.

watwut 27 minutes ago | parent | prev [-]

There is no such thing as "junior level algorithm".

And one does not memorize algorithms.

saulpw 14 minutes ago | parent [-]

bubblesort has entered the chat

sagabai 11 minutes ago | parent | prev | next [-]

About "implementing by words bit": I don't believe English is a great language to program.

It's not type-safe, not object oriented, not functional. Has poor tools to highlight syntax or navigate through "wordbase", doesn't fail fast. It has no tests and has too large room for machine or other humans to interpret it.

Very often it's easier for me to express my thoughts in Java, which is ironically known to be a "wordy" language. But it's nowhere close to wordiness of English.

usremane 20 minutes ago | parent | prev | next [-]

Coding with AI has now introduced feature dopamine. At times this results in the system being prone to more failures because AI may have missed edge cases. Also i am experiencing a decline in job satisfaction and i'm more prone to procrastination because I know the agents will do the work 10x faster than me. I am personally worried about this shift and I fear becoming less knowledgeable over time or not feeling the need to keeping up with new tech stack as agents do the work.

livvy 36 minutes ago | parent | prev | next [-]

And you immediately give up your IP for someone else to use. The 4th option, if you have something in your mind worth building, is to just build the thing, without an LLM.

comandillos 31 minutes ago | parent | next [-]

Sure if you use remote AI services, but any companies working on niche markets where they want to protect their IP, or they simply work with sensitive stuff, will rely on local AI instead.

Foobar8568 24 minutes ago | parent | prev [-]

What IP? Everything can be duplicated within a 1week to a month...

liendolucas 5 minutes ago | parent | prev | next [-]

And yes, there is also another sane and rewarding option: write everything just by youserlf without any assistance. Let's not forget about that one, shall we?

TheRoque 7 minutes ago | parent | prev | next [-]

AI coding is not that efficient. 2x increase at best, depending on the usage. Doesn't seem like a lot is gonna change tbh.

DJBunnies 8 minutes ago | parent | prev | next [-]

It's kind of like folks wielding gen ai and calling themselves artists.

Questionable output, generally shunned by artisans.

But possibly good enough for some.

alertchecker 30 minutes ago | parent | prev | next [-]

My personal experience is the larger the task you ask it to do, the less attention it pays to the details - for a very large task it seems more prone to missing test coverage, writing duplicate code, not refactoring where it should etc. So I try to split into smaller tasks where possible (also makes it easier to review).

cautiouscat 14 minutes ago | parent | prev | next [-]

> You can’t just give a 3000-word, 4-page detailed dense spec and expect it to follow everything, and the larger the codebase, the less it can pack everything in, nor are the vast documents you can feed it worthwhile.

This point seems lost on a lot of principals. I’ve had very little success with these grandiose designs and change requests from RFCs/specs. The context windows just can’t keep it all together and very quickly the approach unravels.

I posit that the further ICs were from writing code at this point in their career, the more they suffer from AI psychosis. It’s the same ivory tower they were already on, just a different order they’re giving.

rco8786 an hour ago | parent | prev | next [-]

I'm not really sure what point this article is trying to make

jeswin 33 minutes ago | parent | next [-]

Software developers still need to think. Models can't do everything. That's it.

q3wu87 42 minutes ago | parent | prev [-]

True postmodernism has finally been reached by AI!

madaxe_again 12 minutes ago | parent | prev | next [-]

It really depends on how you use it. I’ve switched up how I interact with LLMs repeatedly over the years, as the technology has developed.

Now, it’s at the point where it’s like running a development team of very eager amnesiacs. I’ve found the trick is exhaustive documentation by a lead agent, and then having a fresh agent work as a coordinator across as many subtasks as the project sensibly allows. This way the individual components stay on spec, as does the ultimate integration. It’s only really this year that this workflow has started to actually function, and it still needs human supervision - but less and less over time.

I give it two years, tops, and everyone everywhere is building bespoke software because it’s trivially easy.

JSR_FDED 41 minutes ago | parent | prev | next [-]

tl;dr - you still have to think when developing software

N_Lens an hour ago | parent | prev | next [-]

The entire post reads like a tautology.

newsicanuse 29 minutes ago | parent | prev [-]

C in author's name stands for chu**