Live data from Hacker News

Some thoughts on LLMs and software development

martinfowler.com

141–150 of 422 posts

Re: Some thoughts on LLMs and software development

#141

For my money, I used this analogy at work: Before AI, we were trying to save money, but through a different technique: Prompting (overseas) humans. After over a decade of trying that, we learned that had... flaws. So round 2: Prompting (smart) robots. The job losses? This is just Offshoring 2.0; complete with everyone getting to re-learn the lessons of Offshoring 1.0.

Funnily enough, I left a similar comment just the other day: https://news.ycombinator.com/item?id=44944717

The conclusion I reached was different, though. We learnt how to do outsourcing "properly" pretty quickly after some initial high-profile failures, which is why it has only continued to grow into such a huge industry. This also involved local talent refocusing on higher-value tasks, which is why job losses were limited. Those same lessons and outcomes of outsourcing are very relevant to "bot-sourcing'.

However, I do feel concerned that AI is gaining skill-levels much faster than the rate at which people can upskill themselves.

Re: Some thoughts on LLMs and software development

#142

Earlier quoted context omitted.

Vibe coding is not telling an agent what to do and checking back. It's an active engagement and best results are achieved when everything is planned and laid out in advance — which can also be done via vibe coding. No, written code is no longer a time sink. Vibe coding is >90% building without writing any code. The written code and actions are literally presented in diffs as they are applied, if one so chooses.

How could you possibly plan out "everything" in advance? Code itself would be the only way to explicitly specify the "everything".

Have a documentation system in place and have the LLM plan the high level before having the LLM write any code.

You can always just wing it, but if you do so and there isn't adequate existing context you're going to struggle with slop and hallucinations more frequently.

Re: Some thoughts on LLMs and software development

#143

Earlier quoted context omitted.

Vibe coding is not telling an agent what to do and checking back. It's an active engagement and best results are achieved when everything is planned and laid out in advance — which can also be done via vibe coding. No, written code is no longer a time sink. Vibe coding is >90% building without writing any code. The written code and actions are literally presented in diffs as they are applied, if one so chooses.

> It's an active engagement and best results are achieved when everything is planned and laid out in advance — which can also be done via vibe coding. No. The general assumed definition of vibe coding, hence the vibe word, is that coding becomes an iterative process guided by intuition rather than spec and processes. What you describe is literally the opposite of vibe coding, it feels the term is being warped into "c…

I've described an iterative process where one never needs to touch code or documents directly.

Leaving out specs and documentation leads to more slop and hallucinations, especially with smaller models.

Re: Some thoughts on LLMs and software development

#144

Earlier quoted context omitted.

These metaphors all suck. Well, ok, yours is funny. But anyway, LLMs are just very different from any human. They are extremely shallow, even compared to a junior developer. But extremely broad, even compared to the most experienced developer. They type real fuckin fast compared to anyone on earth, but they need to be told what to do much more carefully than anyone on earth.

I've gotten Claude Code to make CUDA kernels and all kinds of advanced stuff that there's zero percent chance a junior would pull off. AI is like a super advanced senior wearing a blindfold. It knows almost everything, it's super fast, and it gets confused pretty quickly about things after you tell it.

have you ever asked a junior developer to write a cuda kernel?

Re: Some thoughts on LLMs and software development

#145

> I’ve often heard, with decent reason, an LLM compared to a junior colleague. No, they're like an extremely experienced and knowledgeable senior colleague – who drinks heavily on the job. Overconfident, forgetful, sloppy, easily distracted. But you can hire so many of them, so cheaply, and they don't get mad when you fire them!

My analogy is a cursed monkey paw with unlimited wishes. It's actually really really powerful but you have to be careful of leaving any possible ambiguity in your wishes.

Re: Some thoughts on LLMs and software development

#146
post #65

Earlier quoted context omitted.

Agreed. The beauty of programming is that you're creating a "mathematical artifact." You can always drill down and figure out exactly what is going on and what is going to happen with a given set of inputs. Now with things like concurrency that's not exactly true, but, I think the sentiment still holds. The more practical question is though, does that matter? Maybe not.

> The more practical question is though, does that matter? I think it matters quite a lot. Specifically for knowledge preservation and education.

Yes, but : not in all cases really. There are plenty of throw away, one off, experimental, trial and error, low stakes, spammy, interactions with dumb-assery, manager replacing instances that are acceptable as being quickly created and forgotten black boxes of temporary barely working trash. (not that people will limit to the proper uses)

Re: Some thoughts on LLMs and software development

#147

Earlier quoted context omitted.

I've gotten Claude Code to make CUDA kernels and all kinds of advanced stuff that there's zero percent chance a junior would pull off. AI is like a super advanced senior wearing a blindfold. It knows almost everything, it's super fast, and it gets confused pretty quickly about things after you tell it.

have you ever asked a junior developer to write a cuda kernel?

I've asked juniors to write easier things without success, and I applied the transitive property.

Re: Some thoughts on LLMs and software development

#148

> I’ve often heard, with decent reason, an LLM compared to a junior colleague. No, they're like an extremely experienced and knowledgeable senior colleague – who drinks heavily on the job. Overconfident, forgetful, sloppy, easily distracted. But you can hire so many of them, so cheaply, and they don't get mad when you fire them!

> Overconfident, forgetful, sloppy, easily distracted

And constantly microdosing, sometimes a bit too much.

Re: Some thoughts on LLMs and software development

#149
post #135
post #31

> We should ask the LLM the question more than once For any macOS users, I highly recommend an Alfred workflow so you just press command + space then type 'llm ' and it opens tabs with the prompt in perplexity, (locally running) deepseek, chatgpt, claude and grok, or whatever other LLMs you want to add. This approach satisfies Fowler's recommendation of cross referencing LLM responses, but is also very efficient and…

What would such a workflow look like? I have Alfred but mainly just use the clipboard feature. I've tried to get into automation but struggled for inspiration. This one seems good! Are you just opening a browser tab?

Go to the 'Workflows' tab, make a new one with keyword of your choice (e.g. llm), and map it to open these urls in your default browser:

http://localhost:3005/?q={query}

https://www.perplexity.ai/?q={query}

https://x.com/i/grok?text={query}

https://chatgpt.com/?q={query}&model=gpt-5

https://claude.ai/new?q={query}

Modify to your taste. Example: https://github.com/stevecondylios/alfred-workflows/tree/main (you should be able to download the .alfredworkflow file and double click on it to import it straight into alfred, but creating your own shouldn't take long, maybe 5-10 mins if it's your first workflow)

Re: Some thoughts on LLMs and software development

#150
post #101

Earlier quoted context omitted.

> Figuring out what code to write is a bigger deal. LLMs can help with part of this. Figuring out what's wrong with written code, and figuring out how to change and fix the code, is also a big deal. LLMs can help with a smaller part of this. I found exactly this is what LLMs are great at assisting with. But, it also requires context to have guiding points for documentation. The starting context has to contain just en…

> Sure, we may see many lacking fundamentals, but I suppose that isn't so different from the criticism I heard when I wrote most of my first web software in PHP. It's not just the fundamentals, though you're right that is an easy casualty. I also agree that LLMs can greatly help with some forms of learning -- previously, you kind of had to follow the incremental path, where you couldn't really do anything complex wit…

> But my real fear is about the skill acquisition, or simply the thinking. We are human, we don't want to have to go through the learning stage before we start doing, and we won't if we don't have to. It's difficult, it takes effort, it requires making mistakes and being unhappy about them, unhappy enough to be motivated to learn how to not make them in the future. If we don't have to do it, we won't, even if we logically know that we'd be better off.

I've noticed the effects of this first hand from intense LLM engagement.

I relate it more to the effects of portable calculators, navigation systems, and tools like Wikipedia. I'm under the impression this is valid criticism, but we may be overly concerned because it's new and a powerful tool. There's even surveys/studies showing differences in how LLM are perceived WRT productivity between different generations.

I'm more concerned with potential loss of critical thinking skills, more than anything else. And on a related note, there have been concerns of critical thinking skills before this mass adoption of LLMs. I'm also concerned with the impact of LLMs on the quality of information. We're seeing a huge jump in quantity while some quality lacks. It bothers me when I see an LLM confidently presenting incorrect information that's seemingly trivial to validate. I've had web searches give me more incorrect information from LLM tooling at a much greater frequency than I've ever experienced before. It's even more unsettling when the LLM gives the wrong answer and the correct answer is in the description of the top result.

Post reply on HN