> we need to create a culture that values craftmanship and dignifies work done by developers.
Mostly I agree with you. But there's a large group of people who are way too contemptuous of craftsmen using AI. We need to push back against this arrogant attitude. Just as we shouldn't be contemptuous of a woodworking craftsman using a table saw.
I've been programming for 20 years and GPT-4 (the one from early 2023) does it better than me.
I'm the guy other programmers I know ask for advice.
I think your metaphor might be a little uncharitable :)
For straightforward stuff, they can handle it.
For stuff that isn't straightforward, they've been trained on pattern matching some nontrivial subset of all human writing. So chances are they'll say, "oh, in this situation you need an X!", because the long tail is, mostly, where they grew up.
--
To really drive the point home... it's easy to laugh at the AI clocks.[0] But I invite you, dear reader, to give it a try! Try making one of those clocks! Measure how long it takes you, how many bugs you write. And how well you'd do it if you only had one shot, and/or weren't allowed to look at the output! (Nor Google anything, for that matter...)
I have tried it, and it was a humbling experience.
Now tell the AI to distill a bunch of user goals into a living system which has to evolve over time, integrate with other systems, etc etc. And deliver and support that system
I use Claude code every day and it is a slam dunk for situations like the one above, fiddly UIs and the like. Seriously , some of the best money I spend. But it is not good at more abstract stuff. Still a massive time saver for me and does effectively do a lot of work that would have gotten farmed out to junior engineers.
Maybe this will change in a few years and I'll have to become a potato farmer. I'm not going to get into predictions. But to act like it can do what an engineer with 20 years of experience can do means the AI brain worm got you or it says something about your abilities.
right, but this is akin to arguing why the table saw also does not do x/y/z — I don't know why we only complain about AI and how it does NOT do everything well yet.
Maybe it's expectations set by all the AI companies, idk, but this kind of mentality seems very particular to AI products and nothing else.
I'm OK pondering the right use for the tool for as long as it'll take for the dust to settle. And I'm OK too trying some of it myself. What I resent is the pervasive request/pressure to use it everywhere right now, or 'be left out'.
My biggest gripe with the hype, as there's so much talk of craftmanship here, is: most programmers I've met hate doing code reviews and a good proportion prefer rewriting to reading and understanding other people's code. Now suddenly everyone is to be a prompter and astute reviewer of a flood of code they didn't write and now that you have the tool you should be faster faster faster or there's a problem with you.
well that's the issue. The table saw is a tool, we can very clearly agree it's good at cutting a giant plank of wood but horrible at screwing a bolt in. A carpenter can do both, but not a table saw. We never try to say the table saw IS the carpenter.
All this hype and especially the AGI talks want to treat the AI as an engineer itself. Even an assuredly senior engineer above is saying that it's better than them. So I think it's valid to ask "well can it do [thing a senior engineer does on the daily]" if we're suggesting that it can replace an engineer.
I'm not complaining about it, I said in my post that it's a huge time saver. It's here to stay, and that's pretty clear to see. It has mostly automated away the need for junior engineers, which just 5 years ago would have been a very unexpected outcome, but it's kind of the reality now.
All that being said:
There's a segment of the software eng population that has their heads in the sand about it and the argument basically boils down to "AI bad". Those people are in trouble because they are also the people who insist on a whole committee meeting and trail of design documents to change the color of a button on a website that sells shoes. Most of their actual hard skills are pretty easy to outsource to an AI.
There's also a techbro segment of the population, who are selling snake oil about AGI being imminent, so fire your whole team and hire me in order to outsource your entire product to an army of AI agents. Their thoughts basically boil down to "I'm a grifter, and I smell money". Nevermind the fact that the outcome of such a program would be a smoldering tire fire, they'll be onto the next grift by then.
As with literally everything, there are loud, crazy people on either side and the truth is in the middle somewhere.
Junior engineers will be fine; OpenAI is actually choosing to hire juniors now because they just learned all their theory and structure, and are way more willing to push the LLMs to see what they can do.
Bad code is bad code. There’s been bad code since day one; the question is how fast are you willing to fail, learn, fail again, learn more, and keep going.
LLMs make failing fast nearly effortless, and THAT is power that I think young people really take to.
AI doesn’t program better than me yet. It can do some things better than me and I use it for that but it has no taste and is way too willing to write a ton of code. What is great about it compared to an actual junior is if i find out it did something stupid it will redo the work super fast and without getting sad
Too willing to write a ton of code - this is absolutely one of the things that drives me nuts. I ask it to write me a stub implementation and it goes and makes up all the details of how it works, 99% of which is totally wrong. I tell it to rename a file and add a single header line, and it does that - but throws away everything after line 400. Just unreliable and headache-inducing.
That's because there's nothing "craftsman" about using AI to do stuff for you. Someone who uses AI to write their programs isn't the equivalent of a carpenter using a table saw, they are the equivalent of a carpenter who subcontracts the piece out to someone else. And we wouldn't show respect to the latter person either.
But you wouldn't call them a craftsperson because they didn't do any craft other than "be a manager". Reviewing work is not on the same plane as actually creating something.
Simply put most industries started moving away from craftsmanship starting in the late 1700s to the mid 1900s. Craftsmanship does make a few nice things but it doesn't scale. Mass production lead to most people actually having stuff and the general condition of humanity improving greatly.
Software did kind of get a cheat code here though, we can 'craft' software and then endlessly copy it without the restrictions of physical objects. With all that said, software is rarely crafted well anyway. HN has an air about it that software developers are the craftsman of their gilded age, but most software projects fail terribly and waste huge amounts of money.
Does Steve Jobs deserve any respect for building the iPhone then? What is this "actually creating"? I'm sure he wasn't the one to do any of the "actually creating" and yet, there's no doubt in my mind that he deserves credit for the iPhone existing and changing the world.
> Does Steve Jobs deserve any respect for building the iPhone then?
No. Because he didn’t build it. He didn’t even have the idea for it. He gets respect for telling a lot of people “no” and for saying “not this” and “not that,” for being an excellent editor, but he does NOT get any credit for building m the iPhone.
That was thousands of other people.
By the way, what does being an editor look like?
It looks a lot like telling an LLM, “no, not that. Not that either. Try it this way. Mmm, not quite. Here, let me show you a sketch. Try something like that. Yes, that’s it!!”
I'm no fan of "AI" but I think it could be argued that if we're sticking to the metaphor, the carpenter can pick up the phone and subcontract out work to the lowest bidder, but perhaps that "work" doesn't actually require high craftsmanship. Or we could make the comparison that developers building systems of parts need to know how they all fit together, not that they built each part themselves, i.e., the carpenter can buy precut lumber rather than having to cut it all out of a huge trunk themselves.
It's very telling when someone invokes this comparison..I see it fairly often. It implies there is this hirearchy of skill/talent between the "architect" and the "bricklayer" such that any architect could be a bricklayer but a bricklayer couldn't be an architect. The conceit is telling.
I'm not implying a hierarchy of value or status here, btw. And the point about difficulty is interesting too. I did manual labor and it was much harder than programming, as you might expect!
You can certainly outsource "up", in terms of skill. That's just how business works, and life... I called a plumber not so long ago! And almost everyone outsources their health...
Almost every bit of work I've hired people to do has been through an intermediary of some sort. Usually one with "contractor" or "engineer" as a title. They are the ones who can organize others, have connections, understand talent, plan and keep schedules, recognize quality, and can identify and troubleshoot problems. They may also be craftsmen, or have once been, but the work is not necessarily their craft. If you want anything project-scoped, you have a team, there is someone in a leadership role (even if informally), someone handling the money, etc. Craftsmanship may or may not happen within that framework, they are somewhat orthogonal concerns, and I don't see any reason to disrespect the people that make room for it to happen.
Of course you can also get useless intermediaries, which may be more akin to vibe coding. Not entirely without merit, but the human in the loop is providing questionable value. I think this is the exception rather than the norm.
a) Nothing about letting AI do grunt work for you is "not being a craftsman".
b) Things are subcontracted all the time. We don't usually disrespect people for that.
Nothing craftsman? The detail required to setup a complex image gen pipeline to produce something the has the consistent style, composition, placement, etc, and quite a bit more-- for things that will go into production and need a repeatable pipeline-- it's huge. Take every bit as much creative vision.
Taking just images, consider AI merely a different image capture mechanism, like the camera is vs. painting. (You could copy.paste many critiques about this sort of ai and just replace it with "camera") Sure it's more accessible to a non professional, in AI's case much more so than cameras wear to years of learning painting. But there's a world of difference between what most people do in a prompt online and how professionals integrating it into their workflow are doing. Are such things "art"? That's not a productive question, mostly, but there's this: when it occurs, it has every bit as much intention, purpose and from a human behind it as that which people complain is lacking, but are referring to the one-shot prompt process in their mind when they do.
We need to find such craftsmen first. A true craftmaan should be able to let the code speak for itself. And ideally they'd be able to teach well enough to have other adapt such a workflow, which inevitably includes constraints and methodologies.
That's the things I don't see enough of in these discussions. We're very afraid to talk about what AI is bad at, as if it's some sort of pampered child we need to keep pleasing. That's not how we attain progress in the craft. Maybe in the stock market, but at that point it's clear what the focus is.
No, the idea is that such a CNC saw shouldn't need an operator at all. To the extent it still does, the operator doesn't even need to be in the same town, much less the same building.
Good or bad, converting craft work to production work is not making the craft worker more productive, it's eliminating the craft worker.
The unskilled operator's position is also precarious, as you point out, but while it lasts, it's a different and (arguably) less satisfying form of work.
The LLM is not a table saw that makes a carpenter faster, it's an automatic machine that makes an owner's capital more efficient.
Mostly I agree with you. But there's a large group of people who are way too contemptuous of craftsmen using AI. We need to push back against this arrogant attitude. Just as we shouldn't be contemptuous of a woodworking craftsman using a table saw.