In case you yourself do not own a table saw, I should point out that table saws don't rip, cut, or mill stock for you. It's like saying "buying a hammer doesn't make you a carpenter".
In case anyone missed it, tptacek is saying that ai is different than just a tool. Tool analogies are not good.
A better analogy is, now you have what seems like an increasingly intelligent personal assistant that can do any cognitive work that you ask it to do, to increasingly better result, has retrograde amnesia, no accountability, entirely middle of the road morality, access to the internet... eh this isn't really a good analogy either.
Don't forget that when you're using it in your own domain you can at least catch its many mistakes and hallucinations, but "Citizen Devs" aren't going to have a knowledge base to do that.
Capability? I have to push back on that (AI sounding joke, yes).
Point is, if I give a person a calculator, it doesn't even make them the tiniest bit of a mathematician. Nor if I give them a pencil, either. The tool never, ever makes the tradesperson.
Whatever's happening with LLMs, it's not making people programmers. It's how you use the tool, which validates that.
Wait: a calculator doesn't make you a mathematician because you have to know math to get the calculator to do anything. A pencil does even less for you. You can't say any of that about AI.
At what point does whacking something together yourself with a hammer make you a carpenter? You would think that even with carpentry there is a spectrum from ignorant rube to master craftsman. If you fire and forget a LLM agent at a problem, where does that land you on the spectrum?
It doesn't, it's just that people keep making comparisons between AI and basic tools of specific trades, but none of those tools work the way AI does.
(I mean, I guess as soon as you start whacking things together with a hammer, you technically sort of are being a carpenter, but that's not the point.)
Tools can be more or less automated. Using a CNC for example doesn't necessarily mean that I qualify as an aspiring machinist. Similar to AI a CNC happily carries out a course of action largely independent of the operator.
I think whacking things together with a hammer is the act of building (however inexpertly) whereas carpenter (and other titles) convey something about expertise, mindset, or the intent to hone skills. The DIYer might or might not qualify as an amateur carpenter/electrician/plumber/whatever.
Not for you! You have to actually know how to do that, and physically push the stock through the blade. If you know zero about a table saw, you're more likely to turn a piece of wood into a projectile than to cross-cut it accurately. Again: not something you can say about a coding agent.
I think it's pretty obvious what parent poster was implying. Pedantic nitpicks add nothing to the discussion.
edit: sigh, fucking rate limits are such a dumb mechanic if you want quality long-form discussion. By the time I can reply nobody will be looking at their replies.
anyways LLMs might displace "programmers" in the way that 3D CAD software replaced draftsmen, but software engineering, the actual design and architecture skill, isn't going anywhere. I can use carpentry tools to build a bridge over a creek but I'm not qualified to build a bridge carrying Interstate traffic.
It is obvious what the parent poster is saying, and it's substantively wrong. Give someone a table saw and they're essentially no closer to being a woodworker. It's tricky to use a table saw (trickier still to use it safely).
These tool analogies are self-soothing for programmers who see agents is simple tools of their trade. But the point of articles like this is that AI agents are more like spreadsheets --- only more so. They're devices that allow normal people without training or aptitude to do things with computers that only programmers were doing before. They displace programmers.
In that sense, the closest physical analogy to a coding agent is probably a 3D printer. But: a really good 3D printer, into which hundreds of billions of dollars had been invested entirely for the purpose of making the printer work weirdly well even for people who have no interest in the different kidns of filament spools.
Agreed, and I in no way meant to be pedantic. I think I did a bad job of articulating point of - where do we draw the line? How many tables did the "people who just bought a table saw" sell before they were "good carpenters". With AI, there are lots of people who think they are "good carpenters".
Here in the US; the head of HHS and DOD decided that flu vaccines were no longer mandatory; until the flu exploded on military bases. I am not taking a position here because I genuinely do not know what the answer to this is but I do think it is as important as it is interesting.
I many ways I think AI amplifies the "The Dunning-Kruger" by an order of magnitude; I think this could be one of the defining issue of our time.
May I ask how you became credentialed in gatekeeping? Did you study gatekeeping in school, obtain a gatekeeping degree and pass the gatekeeping professional associations exam?
No? Then you are not qualified to say that other people are not qualified!
Whatever you can accomplish using AI without experience is now worthless. Sure that rando can now get a customized website hosted on Vercel with some struggling through setting up GitHub etc. That work is no longer interesting. It’s slop the same as a restaurant showing AI images of food. It’s digital plastic. AI on autopilot creating code, text, images or video is nothing more than a curiosity.
My criteria is very simple, could you handwrite the code if you needed to. Could you write this code without the LLM writing it for you. Could you write this code without the IDE auto-completing it for you. You could take it all the way to, could you write the assembly if you needed to. Of course, the complexity of the ask and the timeline has to be commensurate with the power of your tooling at each level.
Good. IT broadly and unnecessarily adopted the complexity of mega-sites that serve hundreds of millions of users even when their actual user base was in the hundreds. AI allows competent and detail-oriented people with technical knowledge to again create useful internal tools in hours or day instead of the "never" timeline from gatekeeping developers.
Found this post super interesting. I've personally run into similar, and built a really lightweight k8s operator and claude skill that lets the citizen devs deploy to an eng/IT managed internal k8s cluster. Keeps things safe (non-public), and can update it as they get more advanced.
I've noticed a near 1:1 overlap of people who advocate against shadow development, and people experiencing status anxiety about the fact that AI has proven that they barely pass the bar.
Some arguments about shadow development and IT are valid, like security and who takes ownership after the original developers leave, but they don't really account for the reality that organizations expand constantly, business needs are perpetually exploding and most development shops are so mired in business requirements and bureaucracy that there's genuinely no value involved with interacting with them.
I've been using Claude to plan out some personal projects, and at first it seems like it can do anything!
But as I've used it, I've noticed that it overcomplicates everything and often even forgets what it previously said, and makes decisions that contradict it.
The AIs need a firm guiding hand, like a lead developer would give junior and mid-level programmers, and even occasionally to a senior developer that went off the rails for personal obsessions.
For instance, I was just trying to have it make a simple shopping list app. I had Claude take my old shopping info from the Google Keep list we use (it keeps the old checked-off items) and get the latest grocery ad, and produce a list of suggestions. It was amazing! I decided I want to send that info to a server, have a checklist there, and then keep the info for later so the AI could do it again.
After a lot of questioning (via Matt Pocock's skills, which are great) it was so complicated I finally yelled at it for overcomplicating everything, and told it how simple I wanted it to be, again.
It kept insisting on IDs for products, IDs for stores, IDs for store sections... Even after I told it no IDs. I finally said it a few more times in different ways.
It's finally getting back to the simple webapp that I imagined. It needed a lot of handholding to get it there.
And it's the kind of thing I would see from devs that were inflexible and had to see things a certain way.
I'm not ruling out that it could eventually get over this phase, but I have a feeling it'll always be something that needs handling.
My other project right now was naturally complex, and needed a lot of that stuff, and things have been going better, but I still correct it rather a lot, even on things I'd previously told it.
Including software developers. Mathematicians tops unless the touch something outside code. An engine is literally multiple disciplines in one. I tired of SDs thinking they are engineers without touching hardware.
Although AI substantially changes the situation the hard part of being an engineer was never the code.
A technician is defined by the tools they work with, an engineer is defined by the problems they can solve.
Taking a dozen different business processes and stakeholders and figuring out how to actually solve the problems they have is engineering.
There's lots of caveats asterisks & limitations, sure sure sure: we hear you Technically Correct repliers, here to spread your Well Actually naysayings.
But at the end of the day: heck yes. So much heck yes. Even if you are not engineering well, just the ability to have your agent go in and do reconissance of systems. "Reverse engineer this Bluetooth protocol for my device" or what I'm doing now, "reverse engineer my epaper display controller"... People have an incredibly powerful tool for assessing the world, for finding out.
And I for one strongly believe that will beget the great virous circle of lovely lovely fucking around. A wheel that is humanity's best invention, best motivation, best traction, best side, and one that any self proclaimed Hacker if any spirit ought be out of their seats cheering raving with excitement happy for.
A better analogy is, now you have what seems like an increasingly intelligent personal assistant that can do any cognitive work that you ask it to do, to increasingly better result, has retrograde amnesia, no accountability, entirely middle of the road morality, access to the internet... eh this isn't really a good analogy either.
More people have the capability now, but not necessarily the experience or understanding.
Point is, if I give a person a calculator, it doesn't even make them the tiniest bit of a mathematician. Nor if I give them a pencil, either. The tool never, ever makes the tradesperson.
Whatever's happening with LLMs, it's not making people programmers. It's how you use the tool, which validates that.
(I mean, I guess as soon as you start whacking things together with a hammer, you technically sort of are being a carpenter, but that's not the point.)
I think whacking things together with a hammer is the act of building (however inexpertly) whereas carpenter (and other titles) convey something about expertise, mindset, or the intent to hone skills. The DIYer might or might not qualify as an amateur carpenter/electrician/plumber/whatever.
They actually do all of that
https://news.ycombinator.com/newsguidelines.html
I think it's pretty obvious what parent poster was implying. Pedantic nitpicks add nothing to the discussion.
edit: sigh, fucking rate limits are such a dumb mechanic if you want quality long-form discussion. By the time I can reply nobody will be looking at their replies.
anyways LLMs might displace "programmers" in the way that 3D CAD software replaced draftsmen, but software engineering, the actual design and architecture skill, isn't going anywhere. I can use carpentry tools to build a bridge over a creek but I'm not qualified to build a bridge carrying Interstate traffic.
These tool analogies are self-soothing for programmers who see agents is simple tools of their trade. But the point of articles like this is that AI agents are more like spreadsheets --- only more so. They're devices that allow normal people without training or aptitude to do things with computers that only programmers were doing before. They displace programmers.
In that sense, the closest physical analogy to a coding agent is probably a 3D printer. But: a really good 3D printer, into which hundreds of billions of dollars had been invested entirely for the purpose of making the printer work weirdly well even for people who have no interest in the different kidns of filament spools.
The claim I responded to was nothing but weak elitist gatekeeping. Such people should think really hard why they are how they are. It's ob obnoxious.
They're all self-regulating professions with licensing bodies and professional standards?
Here in the US; the head of HHS and DOD decided that flu vaccines were no longer mandatory; until the flu exploded on military bases. I am not taking a position here because I genuinely do not know what the answer to this is but I do think it is as important as it is interesting.
I many ways I think AI amplifies the "The Dunning-Kruger" by an order of magnitude; I think this could be one of the defining issue of our time.
If I choose to hire someone for a job, I really don't care how they got there. Be it self taught or through school or university.
Drawing a line always means you take away opportunity, which isn't yours to take.
I sure do.
That usually requires a 3 to 5 year degree, and possibly professional exam.
Having the AI do the work doesn't make one an engineer.
Just like one doesn't become a writer by owning a typewriter or a word processor.
No? Then you are not qualified to say that other people are not qualified!
Do you see the absurdity of your position now?
The level of propaganda reaches Maoist proportions.
Some arguments about shadow development and IT are valid, like security and who takes ownership after the original developers leave, but they don't really account for the reality that organizations expand constantly, business needs are perpetually exploding and most development shops are so mired in business requirements and bureaucracy that there's genuinely no value involved with interacting with them.
But as I've used it, I've noticed that it overcomplicates everything and often even forgets what it previously said, and makes decisions that contradict it.
The AIs need a firm guiding hand, like a lead developer would give junior and mid-level programmers, and even occasionally to a senior developer that went off the rails for personal obsessions.
For instance, I was just trying to have it make a simple shopping list app. I had Claude take my old shopping info from the Google Keep list we use (it keeps the old checked-off items) and get the latest grocery ad, and produce a list of suggestions. It was amazing! I decided I want to send that info to a server, have a checklist there, and then keep the info for later so the AI could do it again.
After a lot of questioning (via Matt Pocock's skills, which are great) it was so complicated I finally yelled at it for overcomplicating everything, and told it how simple I wanted it to be, again.
It kept insisting on IDs for products, IDs for stores, IDs for store sections... Even after I told it no IDs. I finally said it a few more times in different ways.
It's finally getting back to the simple webapp that I imagined. It needed a lot of handholding to get it there.
And it's the kind of thing I would see from devs that were inflexible and had to see things a certain way.
I'm not ruling out that it could eventually get over this phase, but I have a feeling it'll always be something that needs handling.
My other project right now was naturally complex, and needed a lot of that stuff, and things have been going better, but I still correct it rather a lot, even on things I'd previously told it.
Visual Basic
Low-Code
Power Platform
Although AI substantially changes the situation the hard part of being an engineer was never the code.
A technician is defined by the tools they work with, an engineer is defined by the problems they can solve. Taking a dozen different business processes and stakeholders and figuring out how to actually solve the problems they have is engineering.
There's lots of caveats asterisks & limitations, sure sure sure: we hear you Technically Correct repliers, here to spread your Well Actually naysayings.
But at the end of the day: heck yes. So much heck yes. Even if you are not engineering well, just the ability to have your agent go in and do reconissance of systems. "Reverse engineer this Bluetooth protocol for my device" or what I'm doing now, "reverse engineer my epaper display controller"... People have an incredibly powerful tool for assessing the world, for finding out.
And I for one strongly believe that will beget the great virous circle of lovely lovely fucking around. A wheel that is humanity's best invention, best motivation, best traction, best side, and one that any self proclaimed Hacker if any spirit ought be out of their seats cheering raving with excitement happy for.