There is like a very basic topological fact here that you are just failing to grasp.
I think the “very basic topological fact” you’re looking for is that you’ve discovered a continuum and then somehow convinced yourself that this means both ends of it are the same thing.
Implementations are just requirements with very high specificity.
Yes, if you progressively specify every implementation detail until you’ve literally specified the complete implementation, then congratulations: you’ve eventually implemented it.
This is a genuinely fascinating discovery.
Unfortunately, absolutely nothing requires you to do that.
“Rename this field everywhere, update the tests and verify they pass” is more specific than “fix the code,” and considerably less specific than enumerating every character that needs to change in every file.
The entire useful space between those two points is apparently missing from your topology.
I will have to manually construct it anyway because that is literally the only way I’ll know if the AI-that-fucks-up has fucked it up or not.
This might be my favourite part.
No, reviewing something does not require independently recreating it from scratch. I genuinely don’t know how you function professionally if you believe this.
I review other people’s code without first independently implementing their ticket.
I review pull requests without recreating every commit myself.
I review architecture diagrams without drawing a second architecture diagram and holding them up to the light.
I review PowerPoint decks without secretly making my own PowerPoint deck first.
I can inspect a sequence diagram and notice “service B doesn’t call service C there” without first spending twenty minutes lovingly dragging boxes and arrows around myself.
This is, in fact, one of the rather important properties of human cognition: recognizing whether something is correct can be dramatically cheaper than producing it.
Otherwise code review would involve two developers independently implementing every feature so one of them could check the other.
Your Suno example is equally compelling. You found a tool that couldn’t produce output meeting your standards for a particular task, so you stopped using it for that task.
Excellent.
I once encountered a screwdriver that was unsuitable for hammering in a nail. Thankfully I managed to resist developing a general theory of screwdrivers from the experience.
And this:
It’s a rule that’s served me well. I think I’ll keep doing it.
is at least refreshingly explicit. We’ve finally abandoned the argument and arrived at “I have decided AI output is shit, therefore AI output is shit.”
Which is perfectly fine as a personal preference.
It’s just considerably less interesting than the “very basic topological fact” you dressed it up as.
See, I know you can’t understand what’s being said because you’ve already relegated yourself to the role of “reviewer” and are no longer an artisan invested in the state of your craft. You have abandoned the art that supposedly makes your career.
and notice “service B doesn’t call service C there” without first spending twenty minutes lovingly dragging boxes and arrows around myself.
My guy, dragging the boxes is the easy part. If you already know what these services do, what is the AI accomplishing for you? You’re already at a 0.9 on the ticket-to-implementation continuum. Like actually, what the fuck are you talking about?
I once encountered a screwdriver that was unsuitable for hammering in a nail.
Profound.
No, really—I’ve never thought about screwdrivers before. It’s really eye-opening to think about just how much technology is like hammers.
If only some tech-head were around to explain tools to me, maybe I could have convinced my dad to stop misapplying the heroin to his elbow every night.
See, I know you can’t understand what’s being said because you’ve already relegated yourself to the role of “reviewer” and are no longer an artisan invested in the state of your craft.
Oh fucking hell, we’ve reached the “artisan” stage of the argument.
Yes, brother. I have abandoned the sacred art of software engineering by allowing a machine to draw rectangles for me. Somewhere, an ancient guild master has snapped his mechanical keyboard over his knee in disgust.
This is exactly the kind of self-important wank that happens when someone realizes the technical argument isn’t going particularly well and retreats into aesthetics.
My guy, dragging the boxes is the easy part. If you already know what these services do, what is the AI accomplishing for you?
IT’S DRAGGING THE FUCKING BOXES.
Holy shit.
That is literally the point.
I know what the services do. I know which services communicate. I know what the request flow should look like. I describe that information, the machine performs the tedious mechanical transformation into a diagram, and then I verify that the representation matches what I intended.
You’ve somehow managed to identify the exact value proposition while presenting it as a rebuttal.
“But if you already know what you want the PowerPoint to say, what is AI accomplishing by making the PowerPoint?”
Making. The. Fucking. PowerPoint.
The intellectual work and the mechanical production of an artifact are not the same thing. This really shouldn’t require a fucking topology seminar.
And no, knowing that A calls B, B publishes an event, and C consumes it does not mean I’m “0.9” of the way through creating a polished diagram any more than knowing the numbers I want plotted means I’m 90% of the way through formatting a chart.
You’ve simply assigned essentially zero value to execution time and then triumphantly discovered that tools which reduce execution time have essentially zero value.
Very impressive result.
The “artisan” thing makes this even funnier because apparently craftsmanship, in your conception of software engineering, isn’t understanding systems, making good architectural decisions, identifying tradeoffs, debugging difficult problems, or communicating designs clearly.
No, the sacred craft begins when I manually position the fucking rectangle.
And your argument about verification is still just as broken as it was before.
I don’t need to independently produce an artifact to determine whether it represents something I already understand correctly. That’s why reviewing a 20-line diff can take thirty seconds even though discovering and implementing the correct change might have taken someone an hour.
Recognition and generation are different cognitive tasks with different costs.
You keep trying to erase that distinction because your entire “ticket-to-implementation continuum” depends on it not existing.
Profound.
I agree it wasn’t particularly profound.
It wasn’t supposed to be.
It was an extremely simple analogy for an extremely simple point, and somehow we’ve now established that even that needed further explanation.
But please, tell me more about the lost artisanal tradition of manually drawing sequence-diagram arrows. I’m beginning to understand why AI isn’t saving you any time.
Oh fucking hell, we’ve reached the “artisan” stage of the argument.
You’re being hired as one, so I don’t understand what all this contempt is for. I didn’t realize you hated your profession so much.
If you spend only 30-seconds looking at my 20-line changes, I’m just going to skip you and hit the merge button myself. What value add are you possibly providing. A check mark?
I know what the services do. I know which services communicate. I know what the request flow should look like.
Oh, I see. So, by
“Create a sequence diagram showing the interaction between these five services for this request flow”
You did not mean that the AI would discover these connections for you, something I might consider to be saved time, you meant that you would write:
Service A connects to service B. Service A connects to service C. Service B connects to service D. Service D connects to service E with the label “Once per day”. …
You know, this is starting to look like a fairly typical mermaid diagram. I suppose you’re counting the semi-colons as saved time?
You keep trying to erase that distinction because your entire “ticket-to-implementation” continuum depends on it not existing.
My friend, my beloved brother in arms, it’s not just Suno. This “screwdriver” you’re fond of does not live up to my standards. At all. I can only assume that you are satisfied by the tangled mess of bullshit I’ve seen these AI-programmers produce because you care fuck-all about the work you’re doing.
If I have it generate a sequence diagram, and it comes out wrong, and I correct it, and I have it generate a new sequence diagram, and it comes out wrong, and I have to correct it, and I have it generate a new sequence diagram, and it comes out wrong again—I may as well just have made the damn thing myself. This has been my experience every fucking time.
You are free to let the buzzards spread your garden seeds for you, I suppose. But not in my garden. I would ban you from my repos so fucking fast.
I think the “very basic topological fact” you’re looking for is that you’ve discovered a continuum and then somehow convinced yourself that this means both ends of it are the same thing.
Yes, if you progressively specify every implementation detail until you’ve literally specified the complete implementation, then congratulations: you’ve eventually implemented it.
This is a genuinely fascinating discovery.
Unfortunately, absolutely nothing requires you to do that.
“Rename this field everywhere, update the tests and verify they pass” is more specific than “fix the code,” and considerably less specific than enumerating every character that needs to change in every file.
The entire useful space between those two points is apparently missing from your topology.
This might be my favourite part.
No, reviewing something does not require independently recreating it from scratch. I genuinely don’t know how you function professionally if you believe this.
I review other people’s code without first independently implementing their ticket.
I review pull requests without recreating every commit myself.
I review architecture diagrams without drawing a second architecture diagram and holding them up to the light.
I review PowerPoint decks without secretly making my own PowerPoint deck first.
I can inspect a sequence diagram and notice “service B doesn’t call service C there” without first spending twenty minutes lovingly dragging boxes and arrows around myself.
This is, in fact, one of the rather important properties of human cognition: recognizing whether something is correct can be dramatically cheaper than producing it.
Otherwise code review would involve two developers independently implementing every feature so one of them could check the other.
Your Suno example is equally compelling. You found a tool that couldn’t produce output meeting your standards for a particular task, so you stopped using it for that task.
Excellent.
I once encountered a screwdriver that was unsuitable for hammering in a nail. Thankfully I managed to resist developing a general theory of screwdrivers from the experience.
And this:
is at least refreshingly explicit. We’ve finally abandoned the argument and arrived at “I have decided AI output is shit, therefore AI output is shit.”
Which is perfectly fine as a personal preference.
It’s just considerably less interesting than the “very basic topological fact” you dressed it up as.
See, I know you can’t understand what’s being said because you’ve already relegated yourself to the role of “reviewer” and are no longer an artisan invested in the state of your craft. You have abandoned the art that supposedly makes your career.
My guy, dragging the boxes is the easy part. If you already know what these services do, what is the AI accomplishing for you? You’re already at a 0.9 on the ticket-to-implementation continuum. Like actually, what the fuck are you talking about?
Profound.
No, really—I’ve never thought about screwdrivers before. It’s really eye-opening to think about just how much technology is like hammers.
If only some tech-head were around to explain tools to me, maybe I could have convinced my dad to stop misapplying the heroin to his elbow every night.
Oh fucking hell, we’ve reached the “artisan” stage of the argument.
Yes, brother. I have abandoned the sacred art of software engineering by allowing a machine to draw rectangles for me. Somewhere, an ancient guild master has snapped his mechanical keyboard over his knee in disgust.
This is exactly the kind of self-important wank that happens when someone realizes the technical argument isn’t going particularly well and retreats into aesthetics.
IT’S DRAGGING THE FUCKING BOXES.
Holy shit.
That is literally the point.
I know what the services do. I know which services communicate. I know what the request flow should look like. I describe that information, the machine performs the tedious mechanical transformation into a diagram, and then I verify that the representation matches what I intended.
You’ve somehow managed to identify the exact value proposition while presenting it as a rebuttal.
“But if you already know what you want the PowerPoint to say, what is AI accomplishing by making the PowerPoint?”
Making. The. Fucking. PowerPoint.
The intellectual work and the mechanical production of an artifact are not the same thing. This really shouldn’t require a fucking topology seminar.
And no, knowing that A calls B, B publishes an event, and C consumes it does not mean I’m “0.9” of the way through creating a polished diagram any more than knowing the numbers I want plotted means I’m 90% of the way through formatting a chart.
You’ve simply assigned essentially zero value to execution time and then triumphantly discovered that tools which reduce execution time have essentially zero value.
Very impressive result.
The “artisan” thing makes this even funnier because apparently craftsmanship, in your conception of software engineering, isn’t understanding systems, making good architectural decisions, identifying tradeoffs, debugging difficult problems, or communicating designs clearly.
No, the sacred craft begins when I manually position the fucking rectangle.
And your argument about verification is still just as broken as it was before.
I don’t need to independently produce an artifact to determine whether it represents something I already understand correctly. That’s why reviewing a 20-line diff can take thirty seconds even though discovering and implementing the correct change might have taken someone an hour.
Recognition and generation are different cognitive tasks with different costs.
You keep trying to erase that distinction because your entire “ticket-to-implementation continuum” depends on it not existing.
I agree it wasn’t particularly profound.
It wasn’t supposed to be.
It was an extremely simple analogy for an extremely simple point, and somehow we’ve now established that even that needed further explanation.
But please, tell me more about the lost artisanal tradition of manually drawing sequence-diagram arrows. I’m beginning to understand why AI isn’t saving you any time.
You’re being hired as one, so I don’t understand what all this contempt is for. I didn’t realize you hated your profession so much.
If you spend only 30-seconds looking at my 20-line changes, I’m just going to skip you and hit the merge button myself. What value add are you possibly providing. A check mark?
Oh, I see. So, by
You did not mean that the AI would discover these connections for you, something I might consider to be saved time, you meant that you would write:
You know, this is starting to look like a fairly typical mermaid diagram. I suppose you’re counting the semi-colons as saved time?
My friend, my beloved brother in arms, it’s not just Suno. This “screwdriver” you’re fond of does not live up to my standards. At all. I can only assume that you are satisfied by the tangled mess of bullshit I’ve seen these AI-programmers produce because you care fuck-all about the work you’re doing.
If I have it generate a sequence diagram, and it comes out wrong, and I correct it, and I have it generate a new sequence diagram, and it comes out wrong, and I have to correct it, and I have it generate a new sequence diagram, and it comes out wrong again—I may as well just have made the damn thing myself. This has been my experience every fucking time.
You are free to let the buzzards spread your garden seeds for you, I suppose. But not in my garden. I would ban you from my repos so fucking fast.