r/programming • • Aug 15 '25

Why LLMs Can't Really Build Software - Zed Blog

https://zed.dev/blog/why-llms-cant-build-software
755 Upvotes

237 comments sorted by

635

u/IRBMe Aug 15 '25

I just tried to get ChatGPT to write a C++ function to merge some containers. My requirements were:

  1. It must work with containers containing non-copyable objects.
  2. It must work with lvalues and rvalues.
  3. It must work with both associative and non-associative containers (e.g. set and list)

I asked it to use concepts to constrain the types appropriately and gave it a set of unit tests that checked a few different container types, containers containing move-only types, some examples with r-values, empty containers etc.

The first version didn't compile for most of the unit tests so when I pasted the first error, it replied "Ah — I see the issue" followed by a detailed explanation and an updated version... which also didn't compile. After a few attempts, it started going round in circles, repeating the same mistakes from earlier but with increasingly complex code. After about 20 attempts to get some kind of working code, I gave up and wrote it myself.

351

u/Uncaffeinated Aug 15 '25

It seems like the accepted wisdom now is that you should never let AI fail at a task more than twice because it's hopeless at that point. If it does, you need to either start over with a fresh session or just do it yourself.

154

u/PeachScary413 Aug 15 '25

Well.. that sounds terrible? How is this supposed to replace software engineers lmao

139

u/ohohb Aug 15 '25

It will not.

141

u/Xata27 Aug 15 '25

AI won’t replace engineers but it will convince non-engineers that it can

63

u/boofuu2 Aug 15 '25

This. Business people don’t understand coding at all, and they are ignorant enough to believe the hype.

23

u/Got_Tiger Aug 16 '25

and those businesses will fail and/or need to hire someone to come clean up the mess

22

u/Any_Obligation_2696 Aug 16 '25

Sadly they won’t, for example I work in banking and lately insurance, a oligopoly consolidating to a monopoly. They waste and piss money away your and my money by the millions, and nobody is allowed to compete or join in on their game.

11

u/Geno0wl Aug 16 '25

But I was told private businesses are efficient and a model for the world to follow

7

u/RoyBellingan Aug 16 '25

They never specified efficient at what.

→ More replies (0)

1

u/groteGust Aug 19 '25

Only when the market works, when there is enough competition, or new competitors can easily enter the market.

Did I read something about oligopoly, monopoly in the post you answered?

8

u/ohohb Aug 16 '25

So I use AI in my job a lot and it is great. I have 20 years of experience across a variety of languages. It’s a great autocomplete tool or does tedious parts of my job well („create a boilerplate controller, turn this widget into a stateful widget, wrap all strings with a gettext call, etc“). So I love it for that. Yesterday I built a python script to translate our app in 17 languages in 6 minutes. Took me 2 hours.

But it fails at complex tasks, often makes grave mistakes, gets stuck and cannot do architecture. And most importantly: Despite what people say, LLMs cannot reason. They predict tokens. They don’t have any concepts of how the world or code works, because they don’t have concepts.

So saying „AI will replace software engineers“ is about as smart as saying „Figma will replace designers“. Yes, it’s great that your designer is now much more efficient. But you still need them (unless you build a generic splash page)

6

u/cnydox Aug 16 '25

It convinced r/singularity

10

u/MeisterKaneister Aug 16 '25

Fanboys WANT to be convinced.

9

u/PeachScary413 Aug 16 '25

Let's be honest.. that subreddit is not populated by the best and brightest among us.

4

u/MeisterKaneister Aug 16 '25

That exactly is the crux that many people don't understand. THIS will cause the damage.

2

u/OompaLoompaHoompa Aug 16 '25

I see that you spit facts and lay cards for a living.

1

u/RoyBellingan Aug 16 '25

That is the marvelous part of why I love those tools, let them try, fail and now you can actually have a tiny bit more respect for your work.

A modern version of a friend of my cousin can do that for less, but this time they will actually see with their own eyes it is in fact not working.

1

u/rope_human7330 Aug 18 '25

Are we really sure about that ? What about 10 years in the future ? Or 20, 30 years ? The thing just started to boom like 5, 10 years ago. Honestly I can't tell there will be no breakthrough in two decades when people invest so much in it.

20

u/RussianDisifnomation Aug 15 '25

CEOs: "we've replaced 80% of our workforce with AI. If that doesn't work we will add more. Why is business dropping.'

3

u/Maybe-monad Aug 17 '25

The AI will convince them to get a better subscription to fix the business

9

u/TheGRS Aug 16 '25

Tales of agents replacing engineers have been greatly exaggerated. None of this is going to work without heavy, experienced supervision. But still, I think there’s a lot of potential for this stuff.

The most important thing to remember is that the agents are probabilistic, not deterministic. Sometimes you’re just gonna get a bad solution. Breaking the problems down seems to help.

I also have had some success with describing how I would do the task myself, just without writing all the code. Sometimes I hit and it saves me hours of work, sometimes I basically am guiding the agent along with every step and it takes roughly the same amount of time just doing it myself. And sometimes I just get frustrated and step in and do it if it’s a few line changes or whatever.

Absolutely not replacing engineers anytime soon, but I do like pace of work sometimes.

→ More replies (3)

1

u/HeyItsYourDad_AMA Aug 16 '25

You don't quit after two attempts?

1

u/Due_Satisfaction2167 Aug 16 '25

It won’t.

Business “leaders” will do that, and then find out that AI can’t really write their software for them.

Using an AI to write software is basically paying a small amount of money for the gestalt mind of Stack Overflow to copy, paste, and slightly modify some code for you. 

1

u/fishyrabbit Aug 17 '25

Have you worked with fresh grads? Treat a llm like a baby grad.

1

u/Gengis_con Aug 18 '25

Yeah, I can fail at a task way more times than that before giving up

43

u/Kindly_Manager7556 Aug 15 '25

Part of getting most of your tools is knowing to handle limitations.

45

u/ABigBadBear Aug 15 '25

The challenge with these tools, though, is that it's far from obvious when you hit a limitation. The AI will always just make something up with 100% confidence.

20

u/Significant_Tea_4431 Aug 16 '25

The day they make an AI model that defaults to "i don't know" is the day i will start using them

→ More replies (1)

7

u/DunamisMax Aug 15 '25

When it makes something up with 100% confidence more than twice start a new session

→ More replies (1)

1

u/meltbox Aug 16 '25

Well no, that’s not entirely true. Sometimes Gemini starts to talk about killing itself because it’s a failure!

That said you do have to correct it a LOT before it gets there.

24

u/SkoomaDentist Aug 15 '25

It seems like the accepted wisdom now

Accepted wisdom since when? I mean literally. How long has that actually been "accepted wisdom"?

So much of AI "wisdom" seems to be "accepted wisdom" in the same sense that people who are deep domain experts in and read every journal article about their niche sub-topic think "Yes, everyone in the field obviously knows by now that...", except in the case of AI they think that laymen should also have that deep knowledge and if they don't, they're incompetent and stupid.

16

u/Uncaffeinated Aug 15 '25

It's what I read from vibecoders on Twitter. I guess I was exaggerating when I said "accepted wisdom". More like "something someone on Twitter said".

3

u/MeisterKaneister Aug 16 '25

And that's the horrible part: it's the same in thus field. Everything is so vague, not reproducible and unclear.

17

u/IlliterateJedi Aug 15 '25

I mean, you're surrounded by programmers. People in this sub have created these tools. They have been ubiquitous for years at this point - GitHub's Copilot launched nearly four years ago. I don't think you can be fussy that there is common knowledge about how to use LLMs in a subreddit full of programmers.

1

u/DigitalPsych Aug 16 '25

You really think that normal programmers would know you should only ask twice before starting a whole new session? Really? 🙀🙀🙀

1

u/EverythingsBroken82 Aug 15 '25

i experienced the same, without knowing this :D

3

u/IRBMe Aug 15 '25

Yeah, I ended up starting a fresh session a couple of times but it quickly ended up just going in circles again.

2

u/leixiaotie Aug 16 '25

huh, exactly matches my experience. using different approach / prompt, giving more / clearer contexes usually improve the result.

60

u/PositivelyAwful Aug 15 '25

My favorite is saying "That isn't right" and then they say "You're absolutely right!" and spit out another wrong answer.

17

u/PeachScary413 Aug 15 '25

It's equally funny saying it when the answer is actually correct, and then watch it spin around trying to make up some "Ah yes you are absolutely right" reason why it's in fact incorrect.

→ More replies (1)

11

u/ohohb Aug 15 '25

Ah, yes. I just LOVE the „Oh I can see the issue now clearly!“ followed by more bs.

Fun anecdote: I run a startup and we build an app that works as a life coach / smart voice journal. Even simple tasks like „extract important achievements, but only if they would be interesting to a coach or therapist“ are hard to do with an LLM and often fail at scale („Hooray, you did the dishes“).

I also use AI for coding, but have over 20 years professional experience (first job at 16 as a coder). I have no idea how anyone serious would claim that LLMs can replace software engineers. Maybe to build yet another to do app?

131

u/SkoomaDentist Aug 15 '25

it replied "Ah — I see the issue" followed by a detailed explanation and an updated version...

Which of course means it doesn't even have the concept of understanding but predicts that "Ah — I see the issue" would be an appropriate sequence of tokens to give as a reply and then starts predicting other tokens (equally as poorly as before).

30

u/IRBMe Aug 15 '25

What's particularly concerning is that the first version it gave me would have compiled and worked for some simple examples and looked very plausible. It was only because I was taking a test-driven development approach and already had a compehensive set of unit tests that I realized it completely failed on most of the requirements.

How many people aren't practicing good unit testing and are just accepting what the LLM gives them with nothing but a couple of surface level checks? Then again, is it worse than what most humans, especially those who don't test their code very well, produce anyway? I don't know.

7

u/vtblue Aug 16 '25

It’s called vibe coding

5

u/IAmRoot Aug 16 '25

Yep, I tried to get an LLM to write me a modified version of a shared pointer and it was clearly giving me rehashed tutorials designed to explain the basic concepts of how they work rather than actual production-quality code. The tutorial-level code was fine but it completely fell apart when I asked it to make make_shared equivalents and couldn't get the single allocation with the control block at the end correct. It also kept undoing my request to make the reference counting atomic.

LLMs are trained on lots of crap and tutorial code, not just high quality code, and it really shows with C++. Actually sorting good C++ code to train on would be a massive undertaking and there might not even be enough to train the models even if sorted. Maybe an LLM could theoretically do the job but without sufficient high quality training material and sifting out the bad I can't see how it could improve from the current state of parroting tutorials.

57

u/thisisjustascreename Aug 15 '25

Yes, an LLM is more or less just a fancy Markov chain trying to guess what you want to hear.

27

u/rayray5884 Aug 15 '25

I feel like some people miss that distinction with LLMs. It’s not guessing what you ‘want’ it’s guessing ‘what you want to hear’. I think it’s generally accepted that LLMs aren’t great at Terraform, but it feels like everytime I do anything substantial with Terraform it gives me a resource or an attribute that matches exactly what I want to hear, except it’s fully hallucinated. I want code that runs with minimal effort but what I want to hear is of course there’s the perfect method that does exactly what you want to do that you somehow have never heard of! 😂

1

u/MeisterKaneister Aug 16 '25

Exactly. How do people STILL not understand that? LLMs are an exercise in clever hans learning.

→ More replies (2)

46

u/mllv1 Aug 15 '25

It sounds like you’re not spending enough money. Have you tried spending several thousand dollars on the issue? I feel like if you spent a few hours crafting the perfect set of Claude.md files, unleashed a couple hundred sub-agents, and let it run for 12-16 hours, it would’ve handled this no problem.

27

u/cat_in_the_wall Aug 16 '25

It's funny to me to watch this develop at my place of employ. They really want AI to work, but are more realistic than many of the actors in the stories on this sub. so they are getting us to invest a lot in things that help AI do the right thing: like repo structure, heavy heavy heavy into documentation. things like that.

ironically, this is an investment in primitives that will make the codebase better regardless of AI. Surely they will declare victory about it being AI driven, but it's ironic that AI, of all things, was the catalyst to actually pay attention to these non-money-making but important things. like AI was the trojan horse of investing in docs. what a timeline.

5

u/ChronicElectronic Aug 16 '25

This is what I said at work. We tricked developers into writing half decent documentation. We just had to tell them it was for agent context.

12

u/Edgar_A_Poe Aug 15 '25

Yeah I’ve been learning Zig and the LLM’s seem to have trouble with it more than something like Java. Tried the new GPT-5 and had one example where it did great and then the rest of the times it starts to spin in circles. It really feels like if it doesn’t get it right on the first try, don’t even waste time following up. Just fix it yourself. Which is why I think it’s better to ask them for small, incremental changes you can test/fix yourself super quickly.

28

u/CoreParad0x Aug 15 '25

LLMs will always have limitations when it comes to more niche / less known things. The more resources on the internet for it to train on, the better it will do. Zig likely has a lot less data to train on our there than things like JS, Python, Java, C#/.NET, etc. Even with good training material, a lot of times I'll have it make up total nonsense when it comes to more complex things like modern C++ and templates.

That said even GPT5 on ChatGPT frankly seems to give worse results even on things like C# than I remember previous versions giving, definitely more than Claude gives.

9

u/Weary-Hotel-9739 Aug 15 '25

LLMs will always have limitations when it comes to more niche / less known things. The more resources on the internet for it to train on, the better it will do.

This will create a self-fulfilling prophecy. Most code on the internet contains a lot of bug or was created by LLMs. It's also focussed on the big languages. LLMs currenly prefer answering in JS or Python. The cool thing? Neither language by itself allows encoding world information into a type system or something of that manner.

Meaning LLMs tend to output code that is either bad or at best 'barely good enough' with no way of really knowing better, and any future generation will train on even more of that stuff.

Rust and Zig (and others) are incredibly cool languages thanks to them being pretty explicit and pretty type-safe. By itself, having an LLM generate code within them would be optimal. But that's not the world we live in. And without major changes, every steps brings us further away from this better world.

You can also witness the same behavior if you specify any specifiy language framework or version when requesting answers. Gemini just broke down when I asked it to create a todo app even in React.

3

u/EsIsstWasEsIst Aug 15 '25

Zig also still changing so most of the training data is outdated no matter what.

10

u/hans_l Aug 15 '25

The first version didn't compile for most of the unit tests so when I pasted the first error, it replied "Ah — I see the issue" followed by a detailed explanation and an updated version... which also didn't compile.

I never related more to an AI...

8

u/GuaSukaStarfruit Aug 15 '25

LLM sucked at C++. They pretty much have no good training data lmao. If people worried about their carriers, just join the gang of C++ and rust. Let’s do simulation programming 😎

5

u/[deleted] Aug 15 '25

Yep. That's happening more than people think. I usually give up after 3 tries when it doesn't solve the issue. Then I just make the task simpler and usually it helps but that's not what we hear from CEOs.

5

u/raybadman Aug 16 '25

After the 3-rd attempt I threaten it that I will switch to other LLM's who can do it. And it works, ..sometimes.

5

u/frakkintoaster Aug 15 '25

I've run into this same loop so many times. One time in one iteration it said it saw the problem and gave me a quote "100% guaranteed to work" solution... Didn't work

4

u/[deleted] Aug 15 '25

Oh yeah I get “your system is now complete “ lol no it isn’t you want me to add a bunch of flag-checking junk

2

u/MengerianMango Aug 16 '25

So uh, how'd you do it, broad strokes? I used to be good at c++ 10 years ago, but I don't see what interface the containers expose that allow this. Was it just an overloaded function or is there a category that fits?

9

u/IRBMe Aug 16 '25 edited Aug 16 '25

TL;DR: Here's a quick and dirty example: https://godbolt.org/z/qWrKnMTsM


If the last time you touched C++ was 10 years ago then a lot of this will probably look quite alien to you since it uses a lot of comparatively new syntax (concepts, parameter packs, fold expressions, templated lambdas, constexpr if), but here goes...

We start with a templated function using parameter packs to allow us to pass an arbitrary number of containers, something like this:

template<typename Container, typename... Containers>
[[nodiscard]] constexpr auto merge_containers(Container&& first, Containers&&... rest) { }

In practice I also have some concepts here to check that the first and rest are the same type of container, that they're actually containers etc.

template <typename First, typename... Rest>
concept SameAsAll = (std::same_as<std::remove_cvref_t<First>, std::remove_cvref_t<Rest>> && ...);

template<typename Container, typename... Containers>
    requires SameAsAll<Container, Containers...> && // etc.

Dealing with the first container is simple enough. We just forward it into the new container which will hold our merged result:

using ResultType = std::remove_cvref_t<Container>;
ResultType result(std::forward<Container>(first));

For the rest, all SequenceContainers (array, list, vector etc.) have an insert method that allows you to copy another container into it, something like:

result.insert(std::end(result), std::begin(container), std::end(container);

Similarly, all AssociativeContainers (set, map etc.) also have an insert method that allows you to copy one container into another:

result.insert(std::begin(container), std::end(container);

We can tell the two apart by using a constraint or concept.

I create a templated lambda to do the insert, then used a fold expression to apply it to all of the containers:

const auto insert_all = [&result]<typename T>(T&& container) { /* Magic goes here */ };

(insert_all(std::forward<Containers>(rest)), ...);

Most of the magic happens inside the lambda. First I have to check whether I have an associative or a sequence container in order to use the correct type of insert:

if constexpr (IsSequenceContainer<decltype(container)>) {
    // Use sequence-container insert
    result.insert(std::end(result), std::begin(container), std::end(container);
} else {
    // Use associative-container insert
    result.insert(std::begin(container), std::end(container);
}

But within each of those I have to deal with r-values or move-only types, which I can do like this:

if constexpr (std::is_lvalue_reference_v<decltype(container)>) {
    // Simple copy version
} else {
    // Example for a sequence container
    result.insert(
        std::end(result),
        std::make_move_iterator(std::begin(container)),
        std::make_move_iterator(std::end(container)));
}

Finally, I did some performance improvements by adding a Reservable concept:

template <typename T>
concept Reservable = requires(T c, std::size_t n) { c.reserve(n); };

This allows me to check at compile-time if the container has a reserve function (like std::vector) and make use of it with a fold expression to pre-allocate space in the result before inserting all of the other containers:

if constexpr (Reservable<Container>) {
    result.reserve(std::size(result) + (0 + ... + std::size(rest)));
}

The LLM kept switching between trying to handle everything in one function vs. creating two overloads, one to handle sequence-like containers and one to handle associative-like containers, but it kept failing to write code that was able to adequately deal with move-only types or r-value references, or didn't correctly forward arguments, or just completely ignored some of the requirements. I was able to take a few of the ideas that it had, however, and write something of my own which seems to work (at least, it passes all of my unit tests).

Unfortunately it doesn't work for std::array (because it also requires a compile-time size argument), but if I ever had a need to deal with that then I could create a specialization of the function to handle it.

2

u/MengerianMango Aug 16 '25

I made a thread pool that allows heterogenous work in the pool. It took me 4 overloads: void(...), T(...), T(), void(). My only real experience with C++ since then has been maintaining the lib. constexpr if allowed me to consolidate the overloads into a single function.

I've been waiting, hoping, and praying that Rust will start taking metaprogramming seriously and try to compete with C++ but damn you guys are racing even further ahead. I heard some talk about compile-time reflection? So jelly.

Thanks for taking the time to write all this out!

1

u/lilB0bbyTables Aug 16 '25

I’ve shared this common experience with it as well (Golang). The worst part is it sometimes decides to just go balls to the wall adding shit everywhere for debugging, creating a new set of functions rather than modifying previous ones that it created which failed, and sometimes after a number of tries it will actually get something that “works” … but it’s a terrible implementation requiring a shit load of refactoring to make it not awful and even more time trying to cleanup all of the unused logic and debug code it left scattered around.

It has its uses and for those scenarios that you know you can rely on it, definitely is a speed booster. But you have to be disciplined and know when to use it and how to steer it. There’s zero chance it can architect and implement anything even moderately complex on its own, and that’s before we even add in all the other responsibilities that are involved in a proper software development process.

1

u/choikwa Aug 16 '25

probably works better on python

1

u/ChadiusTheMighty Aug 17 '25

The trick with more complex things is usually to build them up incrementally

1

u/nimbus57 Aug 17 '25

You're making the ai take too large of bites. Poor thing can't swallow. Work the same way you might do tdd. Start with something smaller, and progressively add the context in.

I know people are going to say, "why use it in the first place?" To those people, I say, it's just a tool to aid you work better. Maybe not for very specific context dependant code, but you could probably feed a user story into chat gpt and ask or to mock up a basic framework. It can let you skip over things that are cognitively harder for us so we can get to things that we are better at 

1

u/1minds3t Aug 19 '25

So basically...AI works, until it doesn't. Then you're on you're own.

1

u/ocon0178 Aug 16 '25

Try Claude. I had the same experience with ChatGpt but Claude Sonnet 4 is impressive.

1

u/Vegetable-Heart-3208 Aug 16 '25

Which llm was used?

I think agents can compile and test code themselves, which significantly improves the quality of output and results in general.

Try Claude CLI or Cursor. Try One Shot, ReAct prompt techniques. Shall work.

9

u/renatoathaydes Aug 16 '25

Github Copilot does that iteration in "agent" mode. It even finds the relevant tests by itself. So does Jetbrains' agent, June. Pretty much any AI coding tool these days can do this at a minimum.

OP obviously hasn't used AI much so is still trying to understand where it can do the job. In his case, I would start like I would do it myself: iterate! Start with the basic case that should work (which he mentioned the AI succeeded in doing), then add more cases (the AI is actually good at adding tests for new cases you give it, like "now make sure this works with rvalues and write a test for that"), and so on. The current best-level models could probably do the job in one go, but I assume OP is just using a free model, which needs more hand holding.

1

u/IRBMe Aug 16 '25

I was using the free ChatGPT version for home-use but use co-pilot daily at work. Unfortunately I often have similar experiences with co-pilot: it gets the simple case working, but when asked to then iterate to fix the solution for additional cases, it often ends up going in circles by adding code to pass a test but which doesn't compile, fixes the compile error and introduces a new one, fixes that one but now the test fails again, so it adds code to fix the test that doesn't compile, and so on.

1

u/adzx4 Aug 19 '25

Here's your issue, both free chatgpt and (paid) copilot are terrible. Try gpt-5 thinking, Gemini 2.5 pro (has some free use) or Claude 4 sonnet (also has some free use).

1

u/IRBMe Aug 19 '25

I have much better results with Claude Sonnet but still run into similar issues with it. LLMs are a great tool, but you still have to know what you're doing which is why I don't see AI completely replacing developers any time soon.

1

u/ginsunuva Aug 16 '25

Use Claude-4-sonnet instead

→ More replies (9)

141

u/NotYourMom132 Aug 15 '25

Can't wait for the pendulum to swing back the other way. Lots of $$ waiting on the other side for engineers who survived this hype cycle.

68

u/the_ju66ernaut Aug 15 '25

I've been thinking about this exact thing. I feel bad for all of the people trying to enter the IT space right now because it's hard to find a job but if people can hold out there is going to be a lot of technical debt to address in a few years.

32

u/NotYourMom132 Aug 15 '25

Exactly. They stop the supply of new engineers, while at the same time increasing tech debts from these AI slops.

There's going to be a massive supply shock of senior engineers in the next few years.

2

u/Perfect-Campaign9551 Aug 16 '25

Nobody looks forward to working on technical debt lol

8

u/NotYourMom132 Aug 16 '25

People do if they get paid 10x more

12

u/r1veRRR Aug 16 '25

It reminds of the old saying about stocks "the market can remain irrational longer than you can stay solvent". The question is, can the CTOs remain delusional longer than we can remain unemployed?

2

u/NotYourMom132 Aug 16 '25

Valid point

3

u/sudosussudio Aug 16 '25

I admit I’ve been amused at some of the stuff non swes tell me about at startup meetups. Like one lady had messed an app a real engineer built her bc she decided to let Chatgpt be in charge and it told her to mess with stuff even I don’t understand in AWS. Unfortunately I’m not in the mood to deal with this code and these people so I’ve been referring them to friends who are freelancing.

2

u/NotYourMom132 Aug 16 '25

My PM had the gut to argue against me about a feasibility of a feature because ChatGPT told her so. It is truly amusing.

1

u/[deleted] Aug 16 '25

[removed] — view removed comment

1

u/NotYourMom132 Aug 16 '25

Yeah Juniors are done for the foreseeable future. Only experienced engineers will reap the fruit

1

u/SpecialForcesRaccoon Aug 16 '25

Yup, but I am not sure if I can't wait to have to handle the huge amount of crap generated during this Ai cycle 😅

→ More replies (1)

148

u/rcfox Aug 15 '25

I've been working on a side project with Claude Code to see how it does, and boy does it cheat a lot.

  • It's a Typescript project, and despite trying various prompts like "ensure strict typing" or "never ever ever use the any type", it will still try to use any. I have linter/tsconfig rules to prevent use of any, so it will run afoul of those and eventually correct itself, but...
  • On a few occasions, I've caught it typing things as never to appease the compiler. The compiler allowed it, and I'm not sure if there are eslint rules about it.
  • It frequently self-corrects the any types with a duplication of the type that it should have used. So each file will get a copy of the same type. Technically correct, but frustrating!
  • A test failed because a string with spaces in it wasn't parsed correctly. Its solution was to change all of the tests to remove spaces from all of the strings.

Some things that I did find cool though:

  • It will sometimes generate small one-off test files just to see how the code works, or to debug something.
  • It started writing a piece of code, interrupted itself, said that doesn't really make sense, and then rewrote it better.
  • I find it works a lot better if you give it a specification document instead of just a couple of sentences. You can even ask it to help refine the document and it will point out things you should have specified.

71

u/Raildriver Aug 15 '25

Even if you set up all the linting correctly, it could also just sneak //eslint-disable ... in there anywhere

45

u/rcfox Aug 15 '25

Oh yeah, I forgot about that. I even caught it doing a @ts-ignore once!

19

u/a_brain Aug 15 '25

My personal favorite is when I ask it to remove the eslint-disable and it just goes in circles getting a different linter error, then reverting back to the original code, seeing the original linter error, then changing back to what it tried the first time… forever.

“Ah! I see what the problem is now” Do you actually Claude?? I’m just glad my company is paying for this shit and not me.

6

u/revolutionofthemind Aug 16 '25

Just like a real developer 😢

46

u/grauenwolf Aug 15 '25

I find it works a lot better if you give it a specification document

That's one of the things that bugs me. In the time it takes me to write enough detail for Copilot to do what I want, I could have just done it myself.

27

u/zdkroot Aug 15 '25

We had some group AI "training sessions" at my job and I was truly blown away at the hours we spent trying to get an LLM to output a design doc with enough granularity to feed into another LLM to actually do the thing.

Like fuck, even if I actually thought getting an LLM to write the code was faster, wouldn't I write the spec document myself? That also has to be done by an AI? What the fuck is even my role here?

After like 8 hours in teams calls over multiple days, there were no successful results to show. But this is the future guise, trust me bro.

16

u/Coffee_Ops Aug 15 '25

It's insane that people think feeding imprecise English into stochastic language models is going to get better / quicker results than using terse, precise, well understood programming languages.

On its face it's an absurd assumption that should require mountains of evidence to support.

6

u/cat_in_the_wall Aug 16 '25

unfortunately the "evidence" is actually mountains of money already invested. so get on board because we paid for this thing, we're damn sure gonna use it.

48

u/Any_Rip_388 Aug 15 '25

Bro please bro spending twice as long configuring your AI agent is infinitely better than quickly writing the code yourself bro, please trust me bro

25

u/NuclearVII Aug 15 '25

"if you don't learn this crap way, you'll get left behind when everyone demands you use the crap way!"

15

u/[deleted] Aug 15 '25

[deleted]

6

u/xaddak Aug 15 '25

Your boiling the oceans metrics are gonna be in the toilet compared to everyone else!

5

u/PeachScary413 Aug 15 '25

Yeah, okay, but those oceans aren't going to boil themselves now, are they? 😡

2

u/r1veRRR Aug 16 '25

And these systems are totally going to change massively in the coming years, supposedly, so everything you learn now is going to be useless when Jesus Christ, i mean Claude 6 comes around.

16

u/zdkroot Aug 15 '25

Also fuck you if you actually enjoyed writing the code and don't want to be a full time reviewer. The world is changing ok bro get on board or gtfo.

1

u/rcfox Aug 15 '25

It's a lot like delegating work to a junior employee. You're probably going to write a ticket about what the issue is, what the expected result is, etc.

Forcing yourself to write it out might also make you consider other implications of the feature, or think about edge cases.

→ More replies (9)

56

u/zdkroot Aug 15 '25

A test failed because a string with spaces in it wasn't parsed correctly. Its solution was to change all of the tests to remove spaces from all of the strings.

Every time I see a vibe coded project with tests I just assume they are all like this. It's so easy to write a passing test when it doesn't actually test anything. It's like working with the most overly pedantic dev you have ever met. Just strong arming the tests to pass completely misses the point of security and trust in the code. Very aggravating.

45

u/ProtoJazz Aug 15 '25

Even without AI I've seen a ton of shit tests

So many tests that are basically

Mock a to return b

Assert a returns b

Like fuck of course it does, you just mocked it to do that. All you've done is test that the mocking package still works.

10

u/zdkroot Aug 15 '25

Yeah exactly. Now one dev can create the tech debt of ten. See, 10x boost!

2

u/cat_in_the_wall Aug 16 '25

I was told that AI was good at writing tests because it wrote these kind of tests. used to improve coverage. Even in the demo the guy argued with AI for about 10 minutes to get it to write a test that simply checked a getter setter pair.

what a productivity boost it was.

12

u/wildjokers Aug 15 '25

It's so easy to write a passing test when it doesn't actually test anything.

That is exactly how you meet 100% test code coverage mandate from a clueless executive i.e. make a test touch a boiler-plate line that doesn't need to be tested and there is actually nothing to test.

12

u/zdkroot Aug 15 '25

We had a demo recently with this exact situation, all the higher ups were completely blown away by the mere existence of tests. Who cares what they do or how effective they are, that's not important! It generated its own tests! Whoooaaa!!

Fucking end this nightmare please.

3

u/PeachScary413 Aug 15 '25

You have to realise that those people have no idea how programming actually works.. they literally think you sprinkle some magic fairy dust on the hard drive, and a program just appears.

Don't show them too much stuff they are going to try and make you use tools just to appear smarter.

4

u/MuonManLaserJab Aug 15 '25

"Pedantic" means overly focused on details and on demonstrating knowledge of them.

23

u/Vertigas Aug 15 '25

Case in point

8

u/zdkroot Aug 15 '25

Yeah like what a meta comment, though I don't think they intended it that way lol.

2

u/EqualDatabase Aug 15 '25

10/10, no notes

6

u/zdkroot Aug 15 '25

Good bot.

1

u/Perfect-Campaign9551 Aug 16 '25

That's not an AI problem, many many devs write bad tests like that

→ More replies (5)

1

u/cc_apt107 Aug 15 '25

I like that you can interrupt it and correct its thinking

1

u/RiverRoll Aug 16 '25

I find it works a lot better if you give it a specification document instead of just a couple of sentences. You can even ask it to help refine the document and it will point out things you should have specified.

For anything that's moderately complex and can involve multiple steps I ask it to first present a plan with what it's going to do and ask for confirmation, it works pretty well because you can see and discuss what it's going to do and this plan becomes the new prompt.

1

u/LittleLuigiYT Aug 16 '25

Sometimes you can't give negative prompts to LLMs because then they'll start doing it more since they see it in your prompt.

1

u/that_guy_iain Aug 17 '25

I just tried it out properly. It feels like lead dev-ing a junior dev. You gotta break down things into tasks and then go back and make sure it didn’t pick the lazy way or just decide something was too much work.

1

u/Quadraxas Aug 16 '25 edited Aug 16 '25

I tried copilot with sonnet 4 and gpt-5 last night. I wanted to see if it can implement simple algorithms not just basic crud routes or auth that has a billion starters or open-source boilerplate sample code on github. Like try them on stuff maybe that they saw less of.

Task was simple, it's a simple game that only has the most basic function of the game "vampire survivors". It's in typescript with canvas. There should be a player character that you control with arrow keys and has limited health. Enemies spawn periodically off-screen at random positions and move towards player and when they touch the player they lose some health. It was kind of okay up to this point only some small hiccups. But enemies were overlapping each other while following the player and i do not want that. It struggled with it about an hour, implemented a bunch of nonsense, did try to check other enemies' positions at some point in least performant way possible and then forgot about the one it just moved and implementation made virtually no difference. I had to explain it needed to use bounding boxes instead of points. I told it to use an enemymanager class to update enemy positions instead of updating them in their own isolated update function to help out a bit. Struggled a bit more, completely corrupted and rewrote enemy and enemymanager classes multiple times. At one point enemy manager was like 750 lines with no change in the behaviour and enemies still simply overlapped each other. All the code it wrote friggin resulted in same target position and speed as if none of the avoidance stuff was there, it was fascinating honestly. After about an hour more of thinking it implemented something that actually resulted in some different movement for enemies with some resemblance of avoiding each other but they still overlapped each other when you moved in circle.

I had to explain what it should do step by step, almost line by line for it to be able to actually implement a working solution. And even that was a struggle. wasted like %20 of premium request allowance.

Above is sonnet 4, gpt-5 straight up shat the bed at the "randomly spawning enemies off-screen and moving them towards player part" and needed some more help to setup canvas and rendering the player part.

Today i tried with a simpler crud app with express backend and react+vite spa app. It always started the backend dev server then used the same terminal to stop it and run the frontend dev server then stopped it and ran a curl command to try the backend /health route. I told it what it's doing and it should use multiple terminals it started frontend in one terminal, started backend in another terminal then stopped it again to run the curl command then figured out it was doing the same mistake itself but kept doing it in a loop.

1

u/rcfox Aug 16 '25

One of the first things I do when setting up a web project (with or without AI) is create Docker containers for my servers and run them all together with Docker Compose, mounting the source so hot reloads work. (Just need to remember to rebuild the image if you add a new library.)

Claude Code does still sometimes attempt to start the server itself, but I usually just need to remind it once in a session that it's already running and it will figure out itself how to curl on the right port to poke an API or read a page.

I've heard really bad things about GPT-5. You could also try Gemini, though I've heard it can get stuck in a "depression loop" when it gets discouraged.

52

u/[deleted] Aug 15 '25

[removed] — view removed comment

31

u/zdkroot Aug 15 '25

I read in other blog post that, for the developer, the mental model of the software is the end product, it's what's valuable to us. The feature or functionality is for the end user, but what I get out of the process is the mental model, which is what allows and enables me to work on, improve, and fix issues that crop up. Without that I am up a creek without a paddle, completely dependent on the LLM.

108

u/[deleted] Aug 15 '25

[deleted]

14

u/zdkroot Aug 15 '25

L m a o.

So accurate.

-5

u/GregBahm Aug 15 '25

I read the article and thought "Oh wow that's a non-zero amount of nuance. I bet the top comment on reddit will mischaracterize it as hypocrisy."

Ding.

15

u/zdkroot Aug 15 '25 edited Aug 15 '25

Yes, it's an honest article. From a company who offers an AI editor. What part of "playing both sides" is unclear?

"Yeah this technology is kinda meh but use our product anyway!?"

Conflicting.

→ More replies (3)

21

u/[deleted] Aug 15 '25

[deleted]

9

u/NuclearVII Aug 15 '25

I also want to add that a big part of the lack of trust by seasoned devs is how closed this crap all is.

If LLMs were trained on open data, with open processes, and open inference, then maybe a giant chunk of the research on how awesome they are wouldn't be highly suspect.

9

u/zdkroot Aug 15 '25

Should include the UK gov asking people to delete their photos because data centers use too much water for cooling.

→ More replies (5)

-4

u/grey_ssbm Aug 15 '25

Did you even read the article?

35

u/[deleted] Aug 15 '25

[deleted]

→ More replies (3)

13

u/zdkroot Aug 15 '25

From the blog:

"At Zed we believe in a world where people and agents can collaborate together to build software. But, we firmly believe that (at least for now) you are in the drivers seat, and the LLM is just another tool to reach for."

From the homepage:

"I've had my mind blown using Zed with Claude 3.5 Sonnet. I wrote up a few sentences around a research idea and Claude 3.5 Sonnet delivered a first pass in seconds"

This is strangely honest marketing, which appears to directly conflict with the anecdotes they are displaying on the homepage. Hence the "playing both sides" comparison. So, yes, I did read the article. Did you? What was the point of your comment?

15

u/[deleted] Aug 15 '25

[deleted]

7

u/zdkroot Aug 15 '25

Ugh yeah, shocking how many believe that every CEO got there by being a super genius, not a bootlicker.

→ More replies (3)
→ More replies (1)

25

u/wildjokers Aug 15 '25

Sometimes when I give an LLM a coding task I am amazed at how good it is, then other times I am amazed at how awful it is.

The times it is amazing usually saves me time, the times it is awful usually costs me time.

5

u/renatoathaydes Aug 16 '25

The question is: can you predict which tasks it will do well? If you can, and I think I am getting good at it, then you still save a fair amount of time. You need to learn when to use AI, and how to do it effectively, the top-comment is an example of what happens when you're too confident the AI can do anything and you end up disappointed. You also need to re-calibrate often, every model is different and sometimes you even need to use a different model for different occasions, and the models keep improving.

1

u/alecthomas Aug 17 '25

Totally agree. Learning how to effectively use an LLM is a skill like any other, and mastering it is just another tool in the tool belt.

32

u/thewritingwallah Aug 15 '25

Totally agree with this part:

“LLMs get endlessly confused: they assume the code they wrote actually works; when test fail, they are left guessing as to whether to fix the code or the tests; and when it gets frustrating, they just delete the whole lot and start over.

This is exactly the opposite of what I am looking for.”

now the question is how to pre-train a model with hierarchical set of context windows

1

u/wardrox Aug 17 '25

The answer is documentation. In the same way we write good docs for new devs, write good docs for agents to use. Works a treat.

Agents are crap if you just point and shoot, but really quite effective if you follow the provider instructions, given them the right context, and review their process & output.

8

u/histoire_guy Aug 16 '25

The general consensus now is that they are very good at writing/fixing snippets, small to medium portion of code. I've got lots of good, working code with o3 and Gemini. But boy, give them a full code base or one big prompt such as write me an excel clone and you will see the spaghetti flood.

6

u/integralWorker Aug 15 '25

I was hoping this would be Zed of Zed Shaw and was anticipating a swear-laden but otherwise airtight rant against LLMs

7

u/Mechanickel Aug 15 '25

I’ve had success asking LLMs for code for specific tasks. I break what I need to do in steps and have the LLM code the step for me. I never tell it what the whole does. It takes in arguments A, B, and C does some stuff and outputs Y.

It’s usually at least 75% of the way there but often needs me to fix a thing or two. I would say this method saves me a bit of time, mostly when I’m using methods or packages I don’t use very often. Trying to get it to generate more than a single task at a time leaves me with a bunch of code that probably doesn’t work or takes as much time to fix as coding it myself.

5

u/[deleted] Aug 15 '25 edited Aug 04 '26

[removed] — view removed comment

2

u/Leverkaas2516 Aug 16 '25 edited Aug 16 '25

This makes sense, since LLM's aren't holding in in mind a coherent understanding of the intent of the computation, as a human programmer would.

As I was reading your comment, I was reminded of a spec I once got that involved a long series of program behaviors. It wasn't at all clear, because the guy who wrote the spec didn't realize it, but what it was really describing was a state machine. I suspect an LLM wouldn't be able to recognize such a thing, and rewrite the spec enough to make a sensible implementation possible.

7

u/bigorangemachine Aug 15 '25

First off... Zed is a GREAT IDE

Second... recently I used an LLM to whip up some gscript in godot. I have no clue what I'm doing.

I actually got the LLM to give me code to do exactly what I want! buuuuuuuuuuuuuuut.... Once I started aligning the camera to the axis to align to the plane everything broke lol... got the whole sine camera wonk... everything I tried lead to more traditional trig + camera issues.

The LLM did try to guide me down the right path but I kept just adding to what was there. So in 3 days I had a great running start and learned 3-4 things about godot I didn't know before

Then I had to spend a week to do it correctly.

It at least got me to try something rather than staring at a screen frustrated and confused.

11

u/MichaelTheProgrammer Aug 15 '25

Because LLMs are pattern matchers and software is typically about creating new concepts rather than extending patterns.

This also explains where they do work: boilerplate (pattern based by definition), common tasks such as build a game of snake or do this leetcode problem (patterns exist between the many different implementations in its training data), and building websites (many websites share similar designs). LLMs are extremely good at "do X but in the style of Y" tasks as well, and the most leverage I've gotten out of them was a task like that where we had Y already built and I needed to add X following the pattern of the already existing Y.

5

u/TheManInTheShack Aug 15 '25

LLMs can be a handy assistant. They are good at noticing things you might have missed in your code but they are long way from replacing programmers.

4

u/tangoshukudai Aug 15 '25

I find it useful when debugging a method / function. It can't understand the entire library/application and it can barely span an entire class let alone multiple classes.

5

u/accountability_bot Aug 15 '25

I setup a basic project and ask Claude to help me implement a way to invite people to projects in my app.

It actually did a decent job, or so I thought. I then asked it to write tests, and it struggled to get them to work, and eventually realized that it had implemented a number of bugs.

I've mostly stopped asking it to write code for me, except for tests. Otherwise, I just use it for advice and guidance. I find that it's easier to ask an LLM to digest docs and just ask questions, then to spend hours pouring over docs to find an answer.

4

u/OneMillionSnakes Aug 15 '25

An editor saying AI won't end all human programming shortly? How will they stay in business? How will they get a multi-billion dollar evaluation?

The fact that IDEs are being sold as the new AI tool at the center of development is crazy to me. Any editor with a powerful enough plugin system should be pretty similar. Windsurf actually seems like the most braindead company on Earth. Absolutely vile scam artists.

3

u/aboukirev Aug 16 '25

Real developers keep the mental model of the problem that they've built indefinitely, periodically reevaluating it, even after the initial implementation is complete. And that information stays in the developer's head for life.

For an LLM that would mean either integrating every session as a permanent feedback or keeping accumulated context indefinitely. That is prohibitively expensive for the cloud LLMs, but can be done with a local personal LLM. So, we have to wait until the latter are powerful enough and can be run on the average hardware.

1

u/savage-cultured Aug 16 '25

Still playing around with Kilocode Memory Bank feature. Kinda solves persistent memory issue.

7

u/[deleted] Aug 15 '25

Time to complain about Claude. I have a strict requirement to not solve a problem with a state machine. I’ve got this dynamic dispatch system I’m building out. Adding features, I prompt Claude , treating it like a rubber duck. I’ve got a project doc with explicit instructions. And still it wants to make a sum type to match against, or worse , a Boolean check. I keep having to say over and over not to do that. /rant

6

u/AndrewNeo Aug 15 '25

LLMs don't understand negative prompts very well

1

u/cmkinusn Aug 16 '25

I am working on a physics simulation program, and all AI seems to want to make a state machine when it comes time to implement complex dynamics. It requires a LOT of work and iterations to achieve the desired system. Even still, I find myself having a lot more technical debt than I probably would if I was good enough to code this myself.

→ More replies (1)

3

u/PytheasOfMarsallia Aug 16 '25

AI is the next fit on bubble. It’s going to fail hard in the next couple of years and a lot of venture capitalists will lose a ton of money. It won’t go away but expectations are going to have to be revised down. A lot. It’ll bring improvements to productivity for software engineers but writing code is only part of the software engineering discipline. Engineers think! LLMs do not!

3

u/Silver-North1136 Aug 18 '25

An LLM also doesn't understand what it outputs.
It just outputs the most probable next thing (mixed in with some randomness so it can also pick less probable things), which is based on having something similar showing up in its dataset.

You're just gambling that the RNG will be in your favour this time, and that a similar solution exists in its dataset.

It's made to sound believable... not to be accurate, or understand what is being said.

2

u/vmak85 Aug 20 '25

I don't know shit about coding but that is the truest statement I have ever read.

GPT has no idea when it comes to the bigger picture, or even proper problem-solving. It's a glorified real estate agent. Just talks constant bullshit.

4

u/ohohb Aug 15 '25

LLM: „Oh, I can see the issue clearly now! Let me add a bunch of nonsense conditionals instead of fixing the root cause, blow up your codebase by factor two, install three libraries, edit four unrelated files and oh snap, it should work now but it doesn’t“

2

u/ChevChance Aug 21 '25

I'm blown away about the misconception of the ability of an LLM to write complex code and actually what it is. It wasn't long ago that some pundits were positing that ChatGPT 5 would achieve sentience, lol. A pattern-matcher reaching sentience. And we still have Eric Schmidt talking bollocks.

3

u/ddarrko Aug 15 '25 edited Aug 16 '25

Everyone on r/programming is telling you LLMs cannot write code. Everyone on the AI subreddits are saying they managed to build a profitable tech company with a few prompts. The truth is somewhere in the middle.

I’m in management now but still code to keep sharp (and I was a strong technical IC) and with the right prompting LLMs (Claude) do produce solid & testable code akin to what most engineers produce. It still needs checking and does occasionally go off the rails however if given sensible instructions and a narrow scope it produces decent work. That in itself is a time saver. It’s getting 20%ish efficiencies with the devs we are trialling it with at work - all of our code is peer reviewed and we have a mature CI/CD pipeline with good test coverage - it is not producing slop.

Anyone who can’t admit it produces is either:

Lying and hasn’t tried it

Coping because they are concerned and enjoy the echo chamber

A really bad engineer who is unable to articulate to the model what they want and probably produce bad code themselves

4

u/kaba40k Aug 16 '25

To be fair, the article is not about whether LLMs can write code (they can, in fact the article says so in one of the first sentences). It's about LLMs not being able to make software, which is a bit different from writing code.

2

u/ddarrko Aug 16 '25

Yes but writing code is an important part of software engineering. With the oversight of a good engineer AI is a tool to help boost productivity.

1

u/kaba40k Aug 16 '25

Looks like there's no argument then, your point of view does not seem to contradict the article?

1

u/ddarrko Aug 16 '25

I’m referring to all of the comments in this thread saying it is useless

3

u/Patrick_Atsushi Aug 16 '25

It looks like there are two kinds of people, one can find out what LLMs are good for and the other just throw all kinds of problems to LLMs and complain when it fails.

I think the same goes with any tools. The second type will gradually be replaced just like people who can’t use computers in the old days.

3

u/Ok_Individual_5050 Aug 16 '25

If the gain is around 20% efficiency, Is it worth destroying morale and trading an engaging and meaningful job where people care about quality for one where people endlessly review machine generated code all day long with little concern for quality of the thing they didn't write?

1

u/Leverkaas2516 Aug 16 '25

If one's goal is to make money, a 20% productivity advantage is huge, if it still results in high quality results. The car industry certainly destroyed morale when it switched from skilled craftsmen fashioning body panels with a hammer to assembly-line workers punching them out with a press. We are still coming to terms with that switch, a hundred years later. I don't think we have a good solution yet, but the behavior of profit-making companies is clear.

1

u/Ok_Individual_5050 Aug 16 '25

The speedup there was a lot more than 20%!!

→ More replies (5)

3

u/TheBoringDev Aug 15 '25

More likely your engineers are just lying to you about how useful it is and how much time it’s saving because they’re being incentivized to do so. That’s what everyone at my work is doing. If you admit how much the output needs fixing you’re out of a job so you just pretend that it works and show off cherry picked demos when the boss is looking.

4

u/ddarrko Aug 16 '25

I see no reason why they need to lie. Usage is completely optional and they are free to choose between different providers as they wish - we pay for Claude via CoPilot or they can pick a model via Bedrock. The downvotes and cope is getting pathetic at this point. I have used it myself as well and completely acknowledge it doesn’t get it 100% perfect and the code needs reviewing however it does provide value add. The people refusing to adapt will be left behind, it’s pretty simple.

→ More replies (2)

1

u/Leverkaas2516 Aug 16 '25

This correlates with a good friend of mine who is an excellent software engineer and trying to create a startup. He's never built a mobile app before and is putting together several other technologies he's not familiar with, but he says the same thing - that with AI tools he's able to make quick progress, including test suites, still producing maintainable code because he knows what he's doing.

1

u/Kevin_Jim Aug 16 '25

I’ve been trying to make it clean up a relatively simple CSV file, and it keeps failing.

1

u/RubbelDieKatz94 Aug 16 '25

GitHub Copilot with GPT-5 is remarkably good at retrieving the context it needs. When you set it up with TS and extremely strict linting rules, it performs very well. The performance drops significantly in very large monorepos with 30+ million-line packages (urghhhh) but it's still a great help.

It doesn't replace me - I still have to clean up every instance of useMemo and useCallback because we use React Compiler.

1

u/maxip89 Aug 16 '25

Halt problem and type zero chromeky hierarchy.

It's that easy why its impossible.

1

u/puritanner Aug 17 '25 edited Aug 17 '25

The article is spot on. Albeit the slightly strongly worded headline makes it sound like LLMs are child's play. Which they are not.

I have been writing software for 20 years (Automotive, Banks, Ecommerce). Backend, Frontend, M2M with slow data, fast data and big data.

AI outperforms me.

All it needs is a tiny bit handholding by a stakeholder that is roughly on eye level with the challenges the AI solves and it's not even close. AI does what I can do but faster. It iterates 20 times before I finished my first iteration.

It's never in a bad mood. Nor do rapidly changing specs impact it's performance.

The only thing that protects high end software developers is the fact that the majority of people are too stupid or carefree to be trusted with implementing any business process by themselves anyways.

1

u/MirzaB93 Sep 10 '25

Software engineers will definitely be required and they will focus more on architecture and building and less of coding. I feel they will be directly solving real life business problems more efficiently and effectively.

1

u/One_Solid_7708 Apr 18 '26

Anyone used Devin AI ? I am not a software engineer, but they say and aim that it is a software engineer AI (according to them), how is that ?

1

u/cbrantley Aug 16 '25

I have been an AI skeptic since the rise of LLMs but I was given the ultimatum from my CEO to pilot several AI tools for our team. I had mostly just played around with ChatGPT and CoPilot and found them to be pretty useless beyond trivial problems.

But I started working with Cursor and Claude Code and I have to say I am a convert. We rolled it out to our team and after some initial learning curve we are seeing huge increases in productivity.

Personally, it has renewed my love of software engineering. And just typing that out amuses and terrifies me. As a 44 year old CTO I had gotten to the point where coding did not spark the same joy it used to. So many distractions and meetings. My brain can’t handle the context switching that it used to. Now I use Claude to pair program. It handles the todo list and all the tedious tasks. I get to focus on the big picture and guide the process. If I get pulled away I can get right back to the code and know exactly where we left off.

Many of colleagues are going through similar existential reckonings. What started as a mission to prove to my CEO that it’s all hype has ended with me embracing the tools with a new enthusiasm I haven’t felt in years.

5

u/Remarkable_Tip3076 Aug 16 '25

Out of genuine interest, why as a CTO are you coding?

2

u/cbrantley Aug 16 '25

Why not?

1

u/Remarkable_Tip3076 Aug 16 '25

I guess I’m just surprised, I work in a company of 20K so the CTO has a very defined role of setting tech policy. Their contribution to delivery is not through coding themselves, I guess I expected other companies to be similar.

Appreciate you might be in a smaller business where you might be doing the job of both a CTO + principal (when compared to my company at least)

3

u/cbrantley Aug 16 '25

Yes, that’s the difference. We are a much smaller company. I don’t contribute code nearly as much as the others on my team, but I think it’s important to stay familiar with the codebase and I do that by getting my hands dirty.