Remix.run Logo
nrmitchi 3 hours ago

> Craftsmanship will always be in our hands, it's one thing we can never outsource to a machine.

I'm right there with you, but this last sentence concerned me a bit.

In my most other "industries", craftsmanship is not _dead_, but it's been pushed to the wayside for (significantly) cheaper and more available alternatives. You can still get hand-made leather shoes, but very few want to pay $1000+ for them. You can still get art and paintings that someone poured weeks of work into, but most people buy their wall-art and chachkas at HomeGoods.

The main difference is the disposability assumption, and software is _unfortunately_ becoming more and more "disposable"[0], in the same way other products are. This mindset doesn't align well with software that must continue to operate in order to support some process. A disposable countdown app, sure, throw it away, but anything built around long running business processes should not be treated in that way.

I have concerns that focusing on software craftsmenship frames the issue as "boutique and bougie and unneccessarily expensive" vs "what I need for my usage", instead of "maintable and trustworthy" vs "disposable".

[0] Is that an initiative that benefits large model providers like OpenAI/Anthropic? maybe, but that's not my point here.

gizmo686 3 hours ago | parent | next [-]

Craftsmanship is not dead in other industries in the same way it is being talked about for software.

Sure, that cheap desk that arrived in a flat box and got assembled by me and a screwdriver was mass produced in a factory. But it's design had way more expert craftsmanship put into it than would ever be feasible for a bespoke product. High upfront design cost, then mass produced at a low marginal cost.

That had been the state of art for software from the beginning. When you download Firefox, there is no expert programmer carefully building you an artisinal web browser. There is a CDN server sitting in a data center somewhere copying bytes out of its cache for you.

One of the things AI us threatening to do is replace the CAPEX craftsmanship, which has not happened at scale in other industries.

What AI has had more success at it replacing low end "artisinal" software; which is a category that has thus far been so uneconomical is essentially doesn't exist.

tripleee an hour ago | parent | prev | next [-]

Physical industries are very different than software. Leather shoes are made many times, 1x per customer. Code is created once, using the same product for all customers. This gives a lot more leverage on investing in a quality product.

I also don't agree that software is disposable for the same problem. If it's a temporary problem sure, the code is thrown away and we create something new when another, different problem comes up that can be solves with software.

But if it's an enduring problem? The code sticks around.

bjt 2 hours ago | parent | prev | next [-]

Slightly agree. :)

I don't think handmade shoes are the right comparison, unless you're talking about software that's meant to be used by just one person.

The more apt comparison might be to the engineers building and maintaining the manufacturing equipment in the shoe factory. It's a degree removed from the consumer, but there's definitely still craftsmanship involved there.

lelandfe 2 hours ago | parent [-]

Going to be awfully hard to market rote machine maintenance as craftsmanship, but there are some suckers out there

KronisLV 3 hours ago | parent | prev | next [-]

> In my most other "industries", craftsmanship is not _dead_, but it's been pushed to the wayside for (significantly) cheaper and more available alternatives.

What if for a lot of software projects out there you don't need craftsmanship but you need something closer to real engineering: "This is what a sane PostgreSQL setup and transaction management for your app looks like, this is how you do validations and the ORM layer and logging and interaction with APIs and request queueing, this is how a good front-end page looks like, here's the off-the-shelf component library you use, here's how your process errors and show toast messages and handle redirects without messing around with browser history, here's all the accessibility and mean things you DON'T do (like hijacking scroll, not having contrast, having too many animations etc.)."

You don't have a rockstar building a bridge, nor do you usually have craftsmen taking risks on innovative materials and new approaches: most of the time, you just build the damn bridge in ways that have worked for decades and have been proven. Software industry doesn't seem to know what is proven or works, cause it's a moving target. Outside of maybe niches like writing code for airplanes, completely different standards there, not sure if most devs would personally want to work in those conditions, though.

Instead on one hand you have orgs and devs that are moving too fast and create a lot of churn without nailing down what works and doesn't, on the other hand you have a lot of people (myself included) that often have to push out slop because tech stacks are a mess and you still have deadlines which don't care about any of that, and largely the state of software development seems like a comparison between Windows 9X, the UI/UX of which was at least partially based on usability studies, and the modern version which... well, you can see for yourself.

edukite 3 hours ago | parent [-]

I still remember times when my work was mostly cleaning and refactoring old code written just to have higher LOC by devs from India paid in cents per line.

They were creating fast like AI and so mich like AI. But they were merely humans. Cleaning this slow and buggy mess took years killed many companies.

Today we have AI and industrial quantity of code without any engineering skill involved in the process

elictronic 3 hours ago | parent | prev | next [-]

"software is _unfortunately_ becoming more and more "disposable"[0], in the same way other products are"

Software has been the most disposable object in our lives since you could push a new build over the web. Builds change overnight, new versions every month with small updates. You have it backwards. Software has very little to no regulation compared to physical products and requires little to no effort to change. It has been disposable for decades at this point.

The change is large numbers of developers feel they are becoming disposable.

We will see if that is actually true if any of the AI companies can actually monetize their government cash infusions.

nrmitchi 9 minutes ago | parent [-]

> Builds change overnight, new versions every month with small updates.

Small updates are in no way throwing away the entire thing. A monthly update is not a start-from-scratch redevelopment. The old version was not disposed of in the way you are trying to imply.

prodigycorp 3 hours ago | parent | prev | next [-]

Thought experiment: would a junior developer armed with a modern day gpt-5.5 or opus 4.8 in 2015 would have been considered a 10x developer (assuming nobody knew they were using AI)?

MadxX79 2 hours ago | parent | next [-]

If you want to play games like that, you could also flip it around and ask if the AI would have been eventually fired (assuming no one knew they were talking to a computer).

Not sure what that proves.

cyberge99 an hour ago | parent | prev | next [-]

No. I experienced this firsthand. Brought on a on level dev who was using Ai. Created slop, when asked how it works, he just said “it’s all in the documentation” Lots of good documentation, but that’s bot what I needed. I needed an engineer that understood and knew what he created. I’m no longer at that org.

xigoi 3 hours ago | parent | prev | next [-]

Depends on whether they have one of the bosses that judge employees’ quality by the number of lines written.

ath3nd 3 hours ago | parent | prev [-]

[dead]

godelski 2 hours ago | parent | prev | next [-]

I don't think craftsmanship is dead, but I do think we've built a lemon economy.

The thing that creates the lemon markets is that you can't really distinguish quality until after purchase. This is extra hard with software because the average population is tech illiterate. It's even hard to distinguish when people are tech literate (and not all of HN is). Same thing with cars, most people can't tell the difference, so they buy based on price.

We kinda did this to ourselves. We pushed everything online and killed all the stores. Remember when no one would buy anything online because how risky it was? Then they created "free returns, no questions asked" and people would buy a few things and then send it back? That gave a store like feel with the convenience of home. So everyone moved online, the stores struggled to keep up, the Internet retailers kept running in the red (just like physical stores), the physical stores died, then the online sites needed to get a profit, so free returns stopped or diminished (or drove up the cost of goods. Yay arbitrage! It's like paying for credit card fees when you pay with cash \o/). So now everything is just worse.

We do similar things everywhere. We've started running the whole economy this way. By looking at it through a spreadsheet. Data is great, don't get me wrong, I'm an incredibly mathy person myself, but these are just proxies. To do good data analysis you also need to see beyond the math. To see where the proxy measurement isn't perfectly aligned with the desired measurement. How the measurement[0] can mislead you.

  > "what I need for my usage"
I hate how prolific this saying is. You can't know that you have all you need for your use case without first knowing more than you need. It's not something you asymptotically approach, you *have* to surpass it[1]. Without going beyond you, with no doubt, are just setting yourself up to live with unknown unknowns. It's absolute insanity that we say this bullshit with a smug look like we've discovered something profoundly intelligent.

[0] all measurements are proxies. You can't measure anything directly. No, you can't measure a meter. You can measure a comparison to a meter stick. You can measure the time of flight of a laser. You can do all sorts of things like that but everything is always a proxy. If you think this just matters for high precision, well... just look at any house.

[1] an incredibly talented third party could get you exactly to where you need but now you've just doubled the people working

layer8 2 hours ago | parent [-]

More like a lemon tree economy. We can still talk about which trees to pick in order to not get lemons.

tpdly 3 hours ago | parent | prev | next [-]

Yeah, even though I like 'craftsmanship' here, stakeholders don't. I think "durability" is pretty good. 'Engineering standards' perhaps. I think we'll start to see the groundwork laid for software engineering as a proper engineering field, where specific performance characteristics are required for certain stakes.

Code can be like "heavy machinery", maybe needs license to operate. If an app has sensitive data in it, it becomes like a residential structure subject to building codes and inspections. I shudder to think of how this would play out it our oligarchic, anti-competitive environment though.

NichoPaolucci 2 hours ago | parent [-]

Hah. What a dream. Instead they’ll hire a team of what is essentially interns and have them deploy mass amounts of minuscule features with 0 guidance because, “hey - it’s cheap as hell and does 75% of what it’s supposed to do.”

A license to operate the code, what a trip.

To be frank, most other business units that are not tech or tech adjacent do not care about the code in the slightest, or the maintenance / security / durability of said code. It’s a tough world to live in. We understand the value of good code, maintainable systems, and proper design across the board. Relaying that to leadership who does not see the value is time wasted.

“What do you mean we need to rewrite it to adhere to engineering spec? It already works. Just deploy it to production”.

I don’t think we’ll ever be treated as engineers. We just had a non-technical person spin up a vibe-app that is now in production, real (measured, methodical, secure, spec driven, efficient) development is actively being devalued at my company and probably across the board…

Rant over. You propose a good solution I just can’t envision a future like this, there’s too much value in “barely good enough”, but perhaps the ramifications of that will eventually bring about your proposed future!

bjertoref 12 minutes ago | parent [-]

This is Indian Jugaad mentality being imported into Software Development. English equivalent is Kludge.

https://en.wikipedia.org/wiki/Jugaad

sdeframond 2 hours ago | parent | prev | next [-]

Software engineers are not artists nor shoemakers. They are factory makers.

A good analyst makes a hand-crafted, custom report in a day. A programmer makes a factory that makes thousands of reports per second for a thousand clients.

I am yet to find a factory at HomeGoods.

Now the kind of factories we make might change, but isn't it the fun part?

brandensilva 10 minutes ago | parent | next [-]

It is definitely the fun part to me and scaling a factory is the challenge we all decide every day we write code.

I think of AI agents as a factory unlock too.

Anything of quality needs inspection, review, and so on before you ship it. The human in the loop step is critical for value delivery.

Many software companies don't think of themselves as factories but they ship a product to a million customers and it solves a work unit of value for each customer.

Now AI agents may eventually reach a similar potential where many kinds of work can be manufactured by an agent.

The difference I think we are saying as engineers is shipping code isn't the unit of value if you want to turn a code agent into a code factory. It's just a byproduct of the value. Code is the liability or contract to delivering the value. Poor engineering results in poor output that cannot scale or poor quality that no one wants.

Without us inspecting and reviewing the output you risk the value. Also without us, you don't have a factory to begin with although vibe coding has collapsed how soon people can setup a factory, scaling it takes engineering effort. We build the factory and also ensure it is operating well to deliver that value to customers.

The ability for a program for loop to do a million iterations is foundational to our knowledge. AI agents just scale up the tools we use to get there across multiple knowledge domains.

xpct 2 hours ago | parent | prev | next [-]

> Now the kind of factories we make might change, but isn't it the fun part?

No, I don't think it's the fun part. Judging by the number of people glooming over LLMs, not many people seem excited about it.

WalterBright 2 hours ago | parent | prev | next [-]

I remember when the Mac made everyone a publisher.

Joel_Mckay an hour ago | parent | prev [-]

Great programmers learn all documents are high latency state-machines.

A "Report" is just a document feature projection.

People may initially think this is in err, then think again... =3

dyauspitr an hour ago | parent | prev | next [-]

Yeah someone should train these LLMs on straight compiled machine code/binaries and the output so they can start writing directly in binary.

bjertoref 6 minutes ago | parent [-]

That is like running Photoshop reliably on an encrypted image.

MattGaiser 3 hours ago | parent | prev [-]

> but anything built around long running business processes should not be treated in that way.

Arguably they are even more willing to cut corners though. Nothing by IBM or SAP should be considered "crafted", yet those companies have a strong place in the world of business today.