top | item 46934938

(no title)

woeirua | 21 days ago

This is no different then carpentry. Yes, all furniture can now be built by machines. Some people still choose to build it by hand. Does that make them less productive? Yes. Will they ever carve furniture by hand for a business? Probably not. Can they still enjoy the act of working with the wood? Yes.

If you want to code by hand, then do it! No one's stopping you. But we shouldn't pretend that you will be able to do that professionally for much longer.

discuss

order

agentultra|21 days ago

I’ve heard this metaphor before and I don’t think it works well.

For one, a power tool like a bandsaw is a centaur technology. I, the human, am the top half of the centaur. The tool drives around doing what I tell it to do and helping me to do the task faster (or at all in some cases).

A GenAI tool is a reverse-centaur technology. The algorithm does almost all of the work. I’m the bottom half of the centaur helping the machine drive around and deliver the code to production faster.

So while I may choose to use hand tools in carpentry, I don’t feel bad using power tools. I don’t feel like the boss is hot to replace me with power tools. Or to lay off half my team because we have power tools now.

It’s a bit different.

thwarted|21 days ago

There's DeWALT, Craftsman, Stanley, etc carpentry/mechanic power tool brands who make a wide variety of all manner of tools and tooling; the equivalents in computers (at least UNIXy) are coreutils (fileutils, shellutils, and textutils), netpbm, sed, awk, the contents of /usr/bin, and all their alternative, updated brands like fd, the silver searcher, and ripgrep are, or the progression of increased sharpening in revision control tools from rcs, sccs, svn, to mercurial and git; or telnet-ssh, rcp-rsync, netcat-socat. Even perl and python qualify as multi-tool versions of separate power tools. I'd even include language compilers and interpreters in general as extremely sharp and powerful power multi-tools, the machine shop that lets you create more power tools. When you use these, you're working with your hands.

GenAI is none of that, it's not a power tool, even though it can use power tools or generate output like the above power tools do. GenAI is hiring someone else to build a bird house or a spice rack, and then saying you had a hand in the results. It's asking the replicator for "tea, earl grey, hot". It's like how we elevate CEOs just because they're the face of the company, as if they actually did the work and were solely responsible for the output. There's skill in organization and direction, not all CEOs get undeserved recognition, but it's the rare CEO who's getting their hands dirty creating something or some process, power tools or not. GenAI lets you, everyone, be the CEO.

parthdesai|21 days ago

My analogy is more akin to using Google Maps (or any other navigation tool).

Prior to GPS and a navigation device, you would either print out the route ahead of time, and even then, you would stop at places and ask people about directions.

Post Google Maps, you follow it, and then if you know there's a better route, you choose to take a different path and Google Maps will adjust the route accordingly.

pawelwentpawel|21 days ago

I think this argument would work if hand-written code would convey some kind of status, like an expensive pair of Japanese selvage jeans. For now though, it doesn't seem to me that people paying for software care if it was written by a human or an AI tool.

Geonode|21 days ago

Furniture factories are a lot more automated than you're implying with this metaphor.

woeirua|21 days ago

You only feel that way about power tools because the transition for carpentry happened long ago. Carpenters viewed power tools much as we do LLMs today. Furniture factories, equivalent of dark agentic code factories, caused much despair to them too.

Humans are involved with assembly only because the last bits are maniacally difficult to get right. Humans might be involved with software still for many years, but it probably will look like doing final assembly and QA of pre-assembled components.

singingbard|21 days ago

To me, they all the same because they are all tools that stand between “my vision” and “it being built.”

e.g. when I built a truck camper, maybe 50% was woodworking but I had to do electrical, plumbing, metalworking, plastic printing, and even networking infra.

The satisfaction was not from using power tools (or hand tools too) — those were chores — it was that I designed the entire thing from scratch by myself, it worked, was reliable through the years, and it looked professional.

LLMs serve the same purpose for me.

kcexn|21 days ago

Maybe. I'm not sure its that different though? If one person can do the work of two because of power tools, then why keep both? Same with AI. How people feel about it doesn't seem relevant.

Maybe the right example is the role of tractors in agriculture. Prior to tractors you had lots of people do the work, or maybe animals. But tractors and engines eliminate a whole class of labor. You could still till a field by hand or with a horse if you want, but it's probably not commercially viable.

adamesque|21 days ago

I think many deployments of modern technology do turn us into reverse centaurs, and we should rail righteously against those.

But I don’t at all believe that AI-assisted coding is doomed to do this to us and believe thinking so is a misread of the metaphor.

(As is lumping all of “GenAI” together.)

raw_anon_1111|21 days ago

The “work” is not creating for and while loops. The work for me is:

1. Looking at the contract and talking to sales about any nuances from the client

2. Talking to the client (use stakeholder if you are working for a product company) about their business requirements and their constraints

3. Designing the architecture.

4. Presenting the architecture and design and iterating

5. Doing the implementation and iterating. This was the job of myself and a team depending on the size of the project. I can do a lot more by myself now in 40 hours a week with an LLM.

6. Reviewing the implementation

7. User acceptance testing

8. Documentation and handover.

I’ve done some form of this from the day I started working 25 years ago. I was fortunate to never be a “junior developer”. I came into my first job with 10 years of hobbyist experience and implementing a multi user data entry system.

I always considered coding as a necessary evil to see my vision come to fruition.

tux1968|21 days ago

It seems like you're doing a lot of work to miss the actual point. Focusing on the minutiae of the analogy is a distraction from the over arching and obvious point. It has nothing to do with how you feel, it has to do with how you will compete in a world with others who feel differently.

There were carpenters who refused to use power tools, some still do. They are probably happy -- and that's great, all the power to them. But they're statistically irrelevant, just as artisanal hand-crafted computer coding will be. There was a time when coders rejected high level languages, because the only way they felt good about their code is if they handcrafted the binary codes, and keyed them directly into the computer without an assembler. Times change.

paulddraper|21 days ago

Would a CNC satisfy your requirements?

davewritescode|21 days ago

Have you never run a team of software engineers as a lead? Agentic coding comes naturally to a lot of people because that's PRECISELY what you do when you're leading a team, herding multiple brains to point them in the same direction so when you combine all their work it becomes something that is greater than the sum of it's parts.

Lots of the complains about agents sound identical to things I've heard and even said myself about junior engineers.

That said, there's always going to need to be people who can reach below the abstraction and agentic coding loops deprive you of the ability to get those reps in.

zemvpferreira|21 days ago

Have you heard of the Luddites I wonder?

zozbot234|21 days ago

> I don’t feel like the boss is hot to replace me with power tools. Or to lay off half my team because we have power tools now.

That has more to do with how much demand there is for what you're doing. With software eating the world and hardware constraints becoming even more visible due to the chips situation, we can expect that there will be plenty of work for SWE's who are able to drive their coding agents effectively. Being the "top" (reasoning) or the "bottom" half is a matter of choice - if you slack off and are not highly committed to delivering quality product, you end up doing the "bottom" part and leaving the robot in the driver's seat.

afavour|21 days ago

I think this comparison isn’t quite correct. The downside with carpentry is that you only ever produce one of the thing you’re making. Factory woodwork can churn out multiple copies of the same thing in a way hand carpentry never can. There is a hard limit on output and output has a direct relationship to how much you sell.

Code isn’t really like that. Hand written code scales just like AI written code does. While some projects are limited by how fast code can be written it’s much more often things like gathering requirements that limits progress. And software is rarely a repeated, one and done thing. You iterate on the existing product. That never happens with furniture.

jmull|21 days ago

Exactly.

How much is coding actually the bottleneck to successful software development?

It varies from project to project. Probably in a green field it starts out pretty high but drops quite a bit for mature projects.

(BTW, "mature" == "successful", for the most part, since unsuccessful projects tend to get dropped.)

Not that I'm not AI-denier. These are great tools. But let's not just swallow the hype we're being fed.

brulard|21 days ago

There could be factories manufacturing your own design, just one piece. It won't be economical, but can be done. But parts are still the same - chunks and boards of wood joined together by the same few methods. Maybe some other materials thrown into the mix. With software it is similar: Different products use (mostly) the same building blocks, functions, libraries, drivers, frameworks, design patterns, ux patterns.

candiddevmike|21 days ago

> If you want to code by hand, then do it! No one's stopping you. But we shouldn't pretend that you will be able to do that professionally for much longer.

If you can't code by hand professionally anymore, what are you being paid to do? Bring the specs to the LLMs? Deal with the customers so the LLMs don't have to?

sgarland|21 days ago

This is what I don’t understand: why highly-paid SWEs seem to think that their salaries will remain the same (if they even still have a job) if their role is now a glorified project manager.

woeirua|21 days ago

Every engineer in the next two years needs to prepare themselves for this conversation to play out (from Office Space):

> Bob Slydell: What you do at Initech is you take the specifications from the customer and bring them down to the software engineers?

> Tom Smykowski: Yes, yes that's right.

> Bob Porter: Well then I just have to ask why can't the customers take them directly to the software people?

> Tom Smykowski: Well, I'll tell you why, because, engineers are not good at dealing with customers.

> Bob Slydell: So you physically take the specs from the customer?

> Tom Smykowski: Well... No. My secretary does that, or they're faxed.

> Bob Porter: So then you must physically bring them to the software people?

> Tom Smykowski: Well. No. Ah sometimes.

> Bob Slydell: What would you say you do here?

The agents are the engineers now.

FpUser|21 days ago

>"If you can't code by hand professionally anymore"

Then you are simply fucked. The code you deliver will contain bugs which LLM sometimes will be able to fix and sometimes will be not. And as a person who has no clue you will have no idea how to fix it when LLM can not. Also even when LLM code is correct it can and sometimes does introduce gross performance fuckups, like using patterns that employ N-square complexity instead of N for example. Again as a clueless person you are fucked. And if one goes to areas like concurrency, multithreading optimizations one gets fucked even more. I can go on and on on way more particular reasons to get screwed.

For a person who can hand code AI becomes amazing tool. For me - it helps immensely.

mlaretallack|21 days ago

I am currently doing 6 projects at the same time, where before I would only of doing one at a time. This includes the requirements, design, implementation and testing.

Aperocky|21 days ago

Code IS spec.

Your code in $INSERT_LANGUAGE is no less of a spec to machine code than english is to $INSERT_LANGUAGE.

Spec is still needed, spec is the core problem of engineering. Too much specialization have made job titles like $INSERT_LANGUAGE engineer, which deviated too far from the core problem, and it is being rectified now.

rdiddly|21 days ago

I have people skills! I am good at dealing with people!

cmiles74|21 days ago

When the cost of defects and of the AI tooling itself inevitably rises, I think we are likely to see a sudden demand for the remaining employed developers to do more work "by hand".

ngruhn|21 days ago

> If you want to code by hand, then do it! No one's stopping you.

There are few skills that are both fun and highly valued. It's disheartening if it stops being highly valued, even if you can still do it in private.

> But we shouldn't pretend that you will be able to do that professionally for much longer.

I'm not pretending. I'm only sad.

JodieBenitez|21 days ago

I'm still not sure about the productivity. Last time I asked a LLM to generate a lib for me it did it in a few second but the result took me the day to review and correct. About the same time it would take me to write it from scratch.

bigstrat2003|21 days ago

That is exactly my experience. Every single time I get an LLM to write some code for me, it saves me no time because I have to review it carefully to make sure there are no mistakes. LLMs still, even after work has been done, completely make up methods and syntax that doesn't exist. They still get logic wrong or miss requirements.

Right now the only way to save time with LLMs is to trust the output and not review it. But if you do that, you're just going to produce crappy software.

direwolf20|21 days ago

I think you're supposed to ask another LLM instance to review it, then ask the first LLM instance to implement corrections, or that's how I understand it.

falloutx|21 days ago

Only cutting of the furniture is automated. Still designed and assembled by humans. There is no machine which spits out a sofa.

brulard|21 days ago

That is not a technical constraint and may be automated if it made sense financially. Same with software - for some time software won't be all designed, coded, tested, deployed to production without human supervision or approval. But the pieces in between are more and more filled by AI, as are the logistics of designing, manufacturing and distributing sofas.

cline6|21 days ago

The reason this analogy falls down is that tools typically do one thing, do it extremely well, are extremely reliable. When I use a table saw, I know that it's going to cut this board into two pieces, exactly in this spot, and it'll do that exactly the same way every single time I use it.

You cannot tell AI to do just one thing, have it do it extremely well, or do it reliably.

And while there's a lot of opinions wrapped up in it all, it is very debatable whether AI is even solving a problem that exists. Was coding ever really the bottleneck?

And while the hype is huge and adoption is skyrocketing, there hasn't been a shred of evidence that it actually is increasing productivity or quality. In fact, in study after study, they continue to show that speed and quality actually go down with AI.

panarky|21 days ago

Some people like to spin their own wool, weave their own cloth, sew their own clothes.

A few even make a good living by selling their artisanal creations.

Good for them!

It's great when people can earn a living doing what they love.

But wool spinning and cloth weaving are automated and apparel is mass produced.

There will always be some skilled artisans who do it by hand, but the vast majority of decent jobs in textile production are in design, managing machines and factories, sales and distribution.

omnimus|21 days ago

The metaphor doesn't work because all of the things mentioned have to be individually fabricated. But software doesn't. Copies are free. Thats the magic of software, you don't need much of it - you just need to be correct/smarter.

It's pretty surprising to see people on this site (assume mostly programmers) to think of code in terms of quantity. I always thought developers believe in less code the better.

krupan|21 days ago

Like, do you even know how furniture is designed and built? Do you know how software is designed and built? Where is this comment even coming from? And people are agreeing with this?

A friend of mine reposted someone saying that "AI will soon be improving itself with no human intervention!!" And I tried asking my friend if he could imagine how an LLM could design and manufacture a chip, and then a computer to use that chip, and then a data center to house thousands of those computers, and he had no response.

People have no perspective but are making bold assertion after bold assertion

If this doesn't signal a bubble I don't know what does

Trasmatta|21 days ago

I'm tired of the carpentry analogy. It feels like a thought stopping cliche, because it's used in every thread where this topic comes up. It misses the fact that coding is fundamentally different, and that there are still distinct advantages to writing at least some code by hand, both for the individual and the company.

hirako2000|21 days ago

The question nobody asks, is what will happen once atrophy kicks in and nobody is able fire fight production genAI isn't able to fix without making things worse, with broke system bleeding a million dollars per day or more.

It's at least possible that we would eventually do a rollback to status quo and swear to never devalue human knowledge of the problems we solve.

Xenoamorphous|21 days ago

To me the biggest difference is that there’s some place for high quality, beautiful and expensive handcrafted woodwork, even if it’s niche in a world where Ikea exists. Nobody will ever care whether some software was written by humans or a machine, as long as it works and works well.

gedy|21 days ago

"code by hand" is frequently figuring out what the project is even supposed to do and not the slow part (at least for me).

hintymad|21 days ago

Maybe a better question is: Is natural language to code what high-level programming is to hand-written assembly? Brooks claims the "essential complexity" lies in the specification: if a spec is precise enough to be executable, it’s just code by another name. But is the gap actually that large today? When I ask for a "centered 3x3 Tailwind grid", the patterns are so standardized that the ambiguity nearly vanishes. It’s like asking for a Java 8 main method. The implementation is so predictable that the intent and the code are one and the same. Or using jargons, most of the coding has a strong prior that leads to predictable posterior.

The key question now is: how far can AI go? It started with simple auto-completion, but as AI absorbs more procedural know-how, it becomes capable of generating increasingly larger chunks of maintainable code. Perhaps we are reaching a point where established patterns are so well-understood that AI can bridge the gap between a vague intent and a working system, effectively automating away what Brooks once considered essential complexity.

In the long run, this probably makes experts more valuable, but it’ll gut the demand for standard engineers. So much of our market value is currently tied to how hard it is to transfer expertise among humans. AI renders that bottleneck moot. Once the know-how is commoditized, the only thing left is the what and why.

pawelwentpawel|21 days ago

I like programming by hand too. Like many of us here, I've been doing this for decades. I'm still proud of the work I produced and the effort I put in. For me it's a highly rewarding and enjoyable activity, just like studying mathematics.

Nevertheless, the main motivator for me has been always the final outcome - a product or tool that other people use. Using AI helps me to move much faster and frees up a lot of time to focus on the core which is building the best possible thing I can build.

> But we shouldn't pretend that you will be able to do that professionally for much longer.

Opus 4.5 just came out around 3 months ago. We are still very early in this game. Creating things this year already makes me feel like I'm in the Enchanted Pencil (*) cartoon in which the boy draws an object with a magic pencil and makes it reality within seconds. With the collective effort of everyone involved in building the AI tools and the incentives aligned (as they are right now) the progress will continue be very rapid. You can still code by hand but it will be very hard to compete in the market without the use of AI.

(*) It's a Polish cartoon from the 60s/70s (no language barrier) - https://www.youtube.com/watch?v=-inIMrU1t7s*

adamredwoods|21 days ago

>> For me it's a highly rewarding and enjoyable activity, just like studying mathematics. Nevertheless, the main motivator for me has been always the final outcome

There are two attitudes stemming from the LLM coding movement, those who enjoyed the craft of coding MORE, and those who enjoy seeing the final output MORE.

onlyrealcuzzo|21 days ago

Engineering is just going to evolve.

There's going to be minimal "junior" jobs where you're mostly implementing - I guess roughly equivalent to working wood by hand - but there's still going to be jobs resembling senior level FAANG jobs for the foreseeable future.

Someone's going to have to do the work, babysit the algorithm, know how to verify that it actually works, know how to know that it actually does what it's supposed to do, know how to know if the people who asked for it actually knew what they were asking for, etc.

Will pay go down? Who knows. It's easy to imagine a world in which this creates MORE demand for seniors, even if there's less demand for "all SWEs" because there's almost zero demand for new juniors.

And at least for some time, you're going to need non-trivial babysitting to get anything non-trivial to "just work".

At the scale of a FAANG codebase, AI is currently not that helpful.

Sure, Gemini might have a million token context, but the larger the context th worse the performance.

This is a hard problem to solve, that has had minimal progress in what - 3 years?

If there's a MAJOR breakthrough on output performance wrt context size - then things could change quickly.

The LLMs are currently insanely good at implementing non-novel things in small context windows - mainly because their training sets are big enough that it's essentially a search problem.

But there's a lot more engineering jobs than people think that AREN'T primarily doing this.

pankajdoharey|18 days ago

People will only build it by hand if there is a market for it. Otherwise it'll be mostly hobby software build for learning and entertainment (opensource). Businesses don't mind factory software Although the cost of developing software is going down and will be almost free, in that case, the price is actually of taste. The best designed easy to use Interface. My guess is there will be some people, even in future, who would prefer custom handmade artisanal software written entirely by hand. Those will be probably artisanal software collectors. Maybe there will be some art galleries in future who will auction this software as art pieces to be demonstrated in museums or galleries. These will be rare events. Most commercial software will be factory made.

morshu9001|21 days ago

If I'm using the right tools for the job, I don't feel like the LLM helps outside of minor autofilling or writing quick one-off scripts. I do use LLMs heavily at work, but that's cause half the time I'm forced to use cumbersome tooling like Java w/ some boilerplatey framework or writing web backends in C++ for no performance reason.

itissid|21 days ago

Coding can be a joy and art like. I — speaking for myself — do feel incredibly lonely when doing it alone for long stretches. Its closer to doing graduate mathematics, especially on software that fewer and fewer know how to do well. It is also impossible to find people who would pay for _only_ beautiful code.

MarkMarine|21 days ago

I agree with this analogy, as someone who professionally codes and someone who pulls out the power tools to build things around my house but uses hand tools for furniture and chairs.

No job site would tolerate someone bringing a hand saw to cut rafters when you could use a circular saw, the outcome is what matters. In the same vein, if you’re too sloppy cutting with the circular saw, you’re going to get kicked off the site too. Just keep in mind a home made from dimensional lumber is on the bottom of the precision scale. The software equivalent of a rapper’s website announcing a new album.

There are places where precision matters, building a nuclear power plant, software that runs an airplane or an insulin pump. There will still be a place for the real craftsman.

batshit_beaver|21 days ago

> This is no different then carpentry. Yes, all furniture can now be built by machines. Some people still choose to build it by hand. Does that make them less productive? Yes.

I take issue even with this part.

First of all, all furniture definitely can't be built by machines, and no major piece of furniture is produced by machines end to end. Even assembly still requires human effort, let alone designs (and let alone choosing, configuring, and running the machines responsible for the automable parts). So really a given piece of furniture may range from 1% machine built (just the screws) to 90%, but it's never 100 and rarely that close to the top of this range.

Secondly, there's the question of productivity. Even with furniture measuring by the number of chairs produced per minute is disingenuous. This ignores the amount of time spent on the design, ignores the quality of the final product, and even ignores its economic value. It is certainly possible to produce fewer units of furniture per unit of time than a competitor and still win on revenue, profitability, and customer sentiment.

Trying to apply the same flawed approach to productivity to software engineering is laughably silly. We automate physical good production to reduce the cost of replicating a product so we can serve more customers. Code has zero replication cost. The only valuable parts of software engineering are therefore design, quality, and other intangibles. This has always been the case, LLMs changed nothing.

pydry|21 days ago

The nail in the coffin moment for me when i realized AI had turned into a full blown cult was when people started equating a "hand crafted artisinal" piece of software used by a million people with hand crafted artisinal chair used by their grandma.

The cult has its origins in taylorism - a sort of investor religion dedicated to the idea that all economic activity will eventually be boiled down to ownership and unskilled labor.

thesz|21 days ago

  > But we shouldn't pretend that you will be able to do that professionally for much longer.
Who are "we" and why do "we" "pretend"?

  > Will they ever carve furniture by hand for a business? Probably not.
This is definitely a stretch.

kryptiskt|21 days ago

> If you want to code by hand, then do it! No one's stopping you. But we shouldn't pretend that you will be able to do that professionally for much longer.

Bullshit. The value in software isn't in the number of lines churned out, but in the usefulness of the resulting artifact. The right 10,000 lines of code can be worth a billion dollars, the cost to develop it is completely trivial in comparison. The idea that you can't take the time to handcraft software because it's too expensive is pernicious and risks lowering quality standards even further.

grayhatter|21 days ago

> Does that make them less productive?

I could use AI to churn out hundreds of thousands of lines of code that doesn't compile. Or doesn't do anything useful, or is slower than what already exists. Does that mean I'm less productive?

Yes, obviously. If I'd written it by hand, it would work ( probably :D ).

I'm good with the machine milled lumber for the framing in my walls, and the IKEA side chair in my office. But I want a carpenter or woodworker to make my desk because I want to enjoy the things I interact with the most. And don't want to have to wonder if the particle board desk will break under the weight of my frankly obscene number of monitors while I'm out of the house.

I'm hopeful that it won't take my industry too long to become inoculated to the FUD you're spreading about how soon all engineers will lose their job to vibe coders. But perhaps I'm wrong, and everyone will choose the LACK over the table that last more than most of the year.

I haven't seen AI do anything impressive yet, but surely it's just another 6mo and 2B in capex+training right?

tasuki|21 days ago

> But we shouldn't pretend that you will be able to do that professionally for much longer.

If the local bakery can sell expensive artisanal brioches, surely the programmers can sell expensive artisanal ones and zeroes!

oompydoompy74|21 days ago

LLM’s and Agents are merely a tool to be wielded by a competent engineer. A very sophisticated tool, but a tool nonetheless. Maybe it’s because I live in the South East, as far away as I can possibly get from the echo chamber (on purpose), but I don’t see this changing anytime soon.

zozbot234|21 days ago

Is IKEA furniture "built by hand" or "built by machines"? Or both - human hands and machines, each doing what they're best at?

blks|21 days ago

Not sure why you are so sure that using LLMs will be a professional requirement soon enough.

Eg in my team I heavily discourage generating and pushing generated code into a few critical repositories. While hiring, one of my points was not to hire an AI enthusiast.

panzi|21 days ago

If I have to become a factory worker I'm going to look for another job.

FeteCommuniste|21 days ago

On the assembly line:

"What did you used to do?"

"Programming. You?"

"I was a lawyer."