Live data from Hacker News

AI code and software craft

alexwennerberg.com

121–130 of 157 posts

Re: AI code and software craft

#121
post #102

I think we should embrace AI to craft better software. You have a lot of control over the code generated by AI, so all your designs, patterns, best practices can be used in the generated code. This will make us better software craftsmen. A nice example is guitar building: there's a whole bunch of luthiers that stick to traditional methods to build guitars, or even just limit themselves to japanese woodworking tools.…

I agree. The article's logic is incoherent. It conflates the choice of tools with the decision what product to make and what level of quality to aim for.

If AI can be used to make bad (or good enough) software more cheaply, I have no problem with that. I'm sure we will get a huge amount of bad software. Fine.

But what matters is whether we get more great software as well. I think AI makes that more likely rather than less likely.

Less time will be spent on churning out basic features, integrations and bug fixes. Putting more effort into higher quality or niche features will become economically viable.

Re: AI code and software craft

#123
post #102

I think we should embrace AI to craft better software. You have a lot of control over the code generated by AI, so all your designs, patterns, best practices can be used in the generated code. This will make us better software craftsmen. A nice example is guitar building: there's a whole bunch of luthiers that stick to traditional methods to build guitars, or even just limit themselves to japanese woodworking tools.…

I am a craftsman of fine puzzles made from wood and CNC machined metal. I use LLM in lots of ways to help on individual parts of bigger puzzle design projects, like for example to create custom puzzle solver software which can search through large sets of possible notching patterns on wooden sticks in order to find ones that meet some criteria or are optimized in whatever manner I find aesthetically pleasing.

I’ve been writing various single-purpose software tools of these sorts for decades. I would not want to go back to hand-writing them now that I can have agents (cursor, claude code, etc) lay down the algorithmic architecture that I vibe at them, now that I know how to “speak that language” and reliably get the software outcomes that I seek.

I find this similar to how I would not want to spend all day turning the crank handles on a manual milling machine when I can have a CNC mill do it, now that I know how to use various CAM systems well and have the proper equipment.

Given that my overall craft is not limited to just writing code or turning crank handles, I readily embrace any improvements of my workshop “technology stack” so that I can produce higher quality artwork.

Re: AI code and software craft

#124
post #115

Earlier quoted context omitted.

But your comparison is a bit off; you mention CNC machines and the like to build guitars, but those are tools that are still exactly programmed by humans. LLMs on the other hand are probabilistic - you prompt "write me a set of gcode instructions for a CNC to build a guitar body" and wait / hope. Sure, LLMs as a tool probably have a place in software development, but the danger lies in high volume, low oversight. But…

You have a lot of control over what the LLM creates. The way you phrase your requirements, give it guidance over architecture, testing, ux, libraries to use. You can build your own set of skills to outline how you want the LLM to automate your software process. There's a lot of craftmanship in making the LLM do exactly what you think it needs to do. You are not a victim at the mercy of your LLM. You are a lead archit…

> You have a lot of control over what the LLM creates.

No, you don't, you have "influence" or "suggestion".

You can absolutely narrow down the probability ranges of what is produced , but there is no guarantee that it will stick to your guidelines.

So far, at least, it's just not how they work.

> You don't have 100% control over what your LLM devs are doing, but more than you think. Just like normal managers don't micromanage every action of their team.

This overlooks the role of actual reasoning/interpretation that is found when dealing with actual people.

While it might seem like directing an LLM is similar in practice to managing a team of people, the underlying mechanisms are not the same.

If you analyse based on comparisons between those two approaches, without understanding the fundamental differences in what's happening beneath the surface, then any conclusions drawn will be flawed.

---

I'm not against LLM's, i'm against using them poorly and presenting them as something they are not.

Re: AI code and software craft

#125
I am in the middle of reading a fascinating book about the early days of computing: Turing’s Cathedral by George Dyson. It really opened my eyes to American engineering craft post WWW II.

We seem to take everything for granted now and forget what real engineering is like.

This review is 13 years old by itself:

https://www.theguardian.com/books/2012/mar/25/turings-cathed...

Re: AI code and software craft

#126

Earlier quoted context omitted.

LLMs are an amplifier. The great get greater, and the lazier get lazier.

I happen to think that's largely a self-delusion which nobody is immune to, no matter how smart you are (or think you are). I've heard this from a few smart people whom I know really well. They strongly believe this, they also believe that most people are deluding themselves, but not them - they're in the actually-great group, and when I pointed out the sloppiness of their LLM-assisted work they wouldn't have any of…

I was somewhat surprised to find that the differentiator isn't being smart or not, but the ability to accurately assess when they know something.

From my own observations, the types of people I previously observed to be sloppy in their thought processes and otherwise work, correlates almost perfectly with those that seem most eager to praise LLMs.

It's almost as if the ability to identify bullshit, makes you critical of the ultimate bullshit generator.

Re: AI code and software craft

#127
post #30

Earlier quoted context omitted.

Ordinarily yes I’d love to overthrow the bourgeoisie (check my history, I live in flagged threads), but this time I think this thread is really just about the evolution of the profession.

This evolution comes at a cost - if one senior suddenly can do their work and plus work of 5 juniors - why would company keep these juniors? It won't - the moment C-suite realizes they don't need extra people, they will be gone. But at some point senior engineers will retire or find new better paying jobs and said company would need to find a replacement. In the past this replacement could come from one of the junior…

The same could be said about the mass adoption of open source.

Why hire an experienced coder to create project X, when you can just use an open source project and hire cheaper and less experienced coders to make updates? I've been part of many of these conversations with business leaders and management over the years.

Developers have been giving away their work and devaluing their profession for decades and has basically turned it into digital factory work.

It's why I stopped writing software professionally almost a decade ago.

AI is using all of this open source to train and will eventually put you out of a job.

Re: AI code and software craft

#128
post #102

I think we should embrace AI to craft better software. You have a lot of control over the code generated by AI, so all your designs, patterns, best practices can be used in the generated code. This will make us better software craftsmen. A nice example is guitar building: there's a whole bunch of luthiers that stick to traditional methods to build guitars, or even just limit themselves to japanese woodworking tools.…

I agree. The article's logic is incoherent. It conflates the choice of tools with the decision what product to make and what level of quality to aim for. If AI can be used to make bad (or good enough) software more cheaply, I have no problem with that. I'm sure we will get a huge amount of bad software. Fine. But what matters is whether we get more great software as well. I think AI makes that more likely rather than…

I wonder if that's only really true for "pre-LLM" engineers though. If all you know is prompting maybe there's not a higher quality with more focused that can really be achieved.

It might just all meld into a mediocre soup of features.

To be clear not against AI assisted coding, think it can work pretty great but thinking about the implications for future engineers.

Re: AI code and software craft

#129
post #70

Earlier quoted context omitted.

Cloth absolutely has gotten worse over the last two hundred years since industrialization. It's also orders of magnitude cheaper, making it worth it, and certainly new types of cloth are available that weren't before, but we're not better off in every possible way.

Is there any type of clothing that existed in the 1800s that you could actually not buy or have custom made today? On the other hand, you could not buy a Gore-Tex Pro shell or an ultralight down jacket for any price in 1800.

Dhaka muslin most famously isn't producible today due to a lack of knowledge. More broadly a lot of weaving techniques have been lost since they don’t make sense to do with machinery.

I don’t disagree that there are a lot of gains, including on net, just that it hasn’t been a pareto improvement with no losses at all.

Re: AI code and software craft

#130
post #115

Earlier quoted context omitted.

You have a lot of control over what the LLM creates. The way you phrase your requirements, give it guidance over architecture, testing, ux, libraries to use. You can build your own set of skills to outline how you want the LLM to automate your software process. There's a lot of craftmanship in making the LLM do exactly what you think it needs to do. You are not a victim at the mercy of your LLM. You are a lead archit…

> You have a lot of control over what the LLM creates. No, you don't, you have "influence" or "suggestion". You can absolutely narrow down the probability ranges of what is produced , but there is no guarantee that it will stick to your guidelines. So far, at least, it's just not how they work. > You don't have 100% control over what your LLM devs are doing, but more than you think. Just like normal managers don't mi…

I think i have enough control, probably more than when working with developers. Here's something i recently had claude code build: https://github.com/ako/backing-tracks

If you check the commit log, you'll see small increments. The architecture document is what i have it generate to validate the created architecture: https://github.com/ako/backing-tracks/blob/main/docs/ARCHITE...

Other than that most changes start with the ai generating a proposal document that i will review and improve, and then have it built. I think this was the starting proposal: https://github.com/ako/backing-tracks/blob/main/docs/DSL_PRO...

This started as a conversation in Claude Desktop, which it then summarized into this proposal. This i copied into claude code, to have it implemented.

Post reply on HN