| ▲ | 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. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | 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. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | 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. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | 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)? | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | 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.
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 | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | 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. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | 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? | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | 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. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | 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. | ||||||||||||||||||||||||||