Live data from Hacker News

The rise of industrial software

chrisloy.dev

71–80 of 201 posts

Re: The rise of industrial software

#71
post #16

Hmm, I'm not sure I see the value in "disposable software". In any commercial service people are looking for software solutions that are durable, dependable, extensible, maintainable. This is the exact opposite of disposable software. The whole premise of AI bringing democratization to software development and letting any layperson produce software signals a gross misunderstanding of how software development works an…

I play several sports across several teams and leagues. Each league has their own system for delivering fixtures. Each team has its own system of communication.

What I want is software that can glue these things together. Each week, announce the fixture and poll the team to see who will play.

So far, the complete fragmentation of all these markets (fixtures, chat) has made software solutions uneconomic. Any solution's sales market is necessarily limited to a small handful of teams, and will quickly become outdated as fixtures move and teams evolve.

I'm hopeful AI will let software solve problems like this, where disposable code is exactly what's needed.

Re: The rise of industrial software

#72
I spent 15 years writing literal industrial software (manufacturing, test, and quality systems for a global high-tech manufacturing company, parts of which operated in regulated industries).

One of the things that happened around 2010, when we decided to effect a massive corporate change away from both legacy and proprietary platforms (on the one hand, away from AIX & Progress, and on the other hand, away from .Net/SQL Server), was a set of necessary decisions about the fundamental architecture of systems, and which -- if any -- third party libraries we would use to accelerate software development going forward.

On the back end side (mission critical OLTP & data input screens moving from Progress 4GL to Java+PostgreSQL) it was fairly straightforward: pick lean options and as few external tools as possible in order to ensure the dev team all completely understand the codebase, even if it made developing new features more time consuming sometimes.

On the front end, though, where the system config was done, as well as all the reporting and business analytics, it was less straightforward. There were multiple camps in the team, with some devs wanting to lean on 3rd party stuff as much as possible, others wanting to go all-in on TDD and using 3rd party frameworks and libraries only for UI items (stuff like Telerik, jQuery, etc), and a few having strong opinions about one thing but not others.

What I found was that in an organization with primarily junior engineers, many of which were offshore, the best approach was not to focus on ideally "crafted" code (I literally ran a test with a senior architect once where he & I documented the business requirements completely and he translated the reqs into functional tests, then handed over the tests to the offshore team to write code to pass. They didn't even mostly know what the code was for or what the overall system did, but they were competent enough to write code to pass tests. This ensured the senior architect received something that helped him string everything together, but it also meant we ended up with a really convoluted codebase that was challenging to holistically interpret if you hadn't been on the team from the beginning. I had another architect, who was a lead in one of the offshore teams, who felt very strongly that code should be as simple as possible: descriptive naming, single function classes, etc. I let him run with his paradigm on a different project, to see what would happen. In his case, he didn't focus on TDD and instead just on clearly written requirements docs. But his developers had a mix of talents & experience and the checked-in code was all over the place. Because of how atomically abstract everything was, almost nobody understood how pieces of the system interrelated.

Both of these experiments led to a set of conclusions and approach as we moved forward: clearly written business requirements, followed by technical specifications, are critical, and so is a set of coding standards the whole group understands and has confidence to follow. We setup an XP system to coach junior devs who were less experienced, ran regular show & tell sessions where individuals could talk about their work, and moved from a waterfall planning process to an iterative model. All of this sounds like common sense now that it's been standard in the tech industry for an entire generation, but it was not obvious or accepted in IT "Enterprise Apps" departments in low margin industries until far more recently.

I left that role in 2015 to join a hyperscaler, and only recently (this year) have moved back to a product company, but what I've noticed now is that the collaborative nature of software engineering has never been better ... but we're back to a point where many engineers don't fully understand what they're doing, either because there's a heavy reliance on code they didn't write (common 3P libraries) or because of the compartmentalization of product orgs where small teams don't always know what other teams are doing, or why. The more recent adoption of LLM-accelerated development means even fewer individuals can explain resultant codebases. While software development may be faster than ever, I fear as an industry we're moving back toward the era of the early naughts when the graybeard artisans had mostly retired and their replacements were fumbling around trying to figure out how to do things faster & cheaper and decidedly un-artisanally.

Re: The rise of industrial software

#73
post #37

Thing is: Industrialization is about repeating manufacturing steps. You don't need to repeat anything for software. Software can be copied arbitrarily for no practical cost. The idea of automation creating a massive amount of software sounds ridiculous. Why would we need that? More Games? Can only be consumed at the pace of the player. Agents? Can be reused once they fulfill a task sufficently. We're probably going t…

The "industrialisation" concept is an analogy to emphasize how the costs of production are plummeting. Don't get hung up pointing out how one aspect of software doesn't match the analogy.

> The "industrialisation" concept is an analogy to emphasize how the costs of production are plummeting. Don't get hung up pointing out how one aspect of software doesn't match the analogy.

Are they, though? I am not aware of any indicators that software costs are precipitously declining. At least as far as I know, we aren't seeing complements of software developers (PMs, sales, other adjacent roles) growing rapidly indicating a corresponding supply increase. We aren't seeing companies like mcirosoft or salesforce or atlassian or any major software company reduce prices due to supply glut.

So what are the indicators (beyond blog posts) this is having a macro effect?

Re: The rise of industrial software

#74
post #61

Earlier quoted context omitted.

And if we extrapolate 5% economic growth per year we will consume all the energy in our light cone in 1000 years.

Economic growth is not directly proportional to energy consumption. A major feature of any useful tool is that it (often dramatically) reduces energy consumption.

Economic growth tracks almost 100% with energy consumption. The earth at night map is quite telling on the matter.

Re: The rise of industrial software

#75
post #55
post #47

This essay, like so many others, mistakes the task of "building" software with the task of "writing" software. Anyone in the world can already get cheap, mass-produced software to do almost anything they want their computer to do. Compilers spit out new build of any program on demand within seconds, and you can usually get both source code and pre-compiled copies over the internet. The "industrial process" (as TFA pu…

You're getting caught up on the technical meaning of terms rather than what the author actually wrote. Theyre explicitly saying that most software will no longer be artisianal - a great literary novel - and instead become industrialized - mass produced paperback garbage books. But also saying that good software, like literature, will continue to exist.

This was already true before LLMs. "Artisinal software" was never the norm. The tsunami of crap just got a bit bigger.

Unlike clothing, software always scaled. So, it's a bit wrongheaded to assume that the new economics would be more like the economics of clothing after mass production. An "artisanal" dress still only fits one person. "Artisanal" software has always served anywhere between zero people and millions.

LLMs are not the spinning jenny. They are not an industrial revolution, even if the stock market valuations assume that they are.

Re: The rise of industrial software

#76

"Technical debt is the pollution of the digital world, invisible until it chokes the systems that depend on it." Such a great line.

And also false. Good programmers are always aware of the debt. It’s just not easily quantifiable as part of it can only be estimated when a change request has been made. And truly known when implementing the change.

It’s always a choice between taking more time today to reduce the cost of changes in the future, or get result fast and be less flexible later. Experience is all about keeping the cost of changes constant over time.

Re: The rise of industrial software

#77
post #16

Hmm, I'm not sure I see the value in "disposable software". In any commercial service people are looking for software solutions that are durable, dependable, extensible, maintainable. This is the exact opposite of disposable software. The whole premise of AI bringing democratization to software development and letting any layperson produce software signals a gross misunderstanding of how software development works an…

I play several sports across several teams and leagues. Each league has their own system for delivering fixtures. Each team has its own system of communication. What I want is software that can glue these things together. Each week, announce the fixture and poll the team to see who will play. So far, the complete fragmentation of all these markets (fixtures, chat) has made software solutions uneconomic. Any solution'…

That sounds more like a bureaucratic problem (access to data) than a software problem.

Re: The rise of industrial software

#78

So many fallacies here, imprecise, reaching arguments, attempts at creating moral panic, insistence that most people create poor quality garbage code, in start contrast to the poster, the difference between his bespoke excellence, and the dreck produced by the soulless masses is gracefully omitted. First the core of the argument that 'Industrialization' produces low quality slop is not true - industrialization is abo…

[deleted]

Re: The rise of industrial software

#79
post #59

I've been thinking about this for a while, and largely agree that industralization of software development is what we are seeing. But the emphasis on low quality is misplaced. Take this for example: ``` Industrial systems reliably create economic pressure toward excess, low quality goods. ``` Industrial systems allow for low quality goods, but also they deliver quality way beyond what can be achieved in artisanal pro…

I generally agree. Industrialization puts a decent floor on quality, at low cost. But it also has a ceiling. Perhaps an industrial car is better than your or my artisanal car, but I'm sure there's people who build cars by hand of very high quality (over the course of years). Likewise fine carpentry vs mass produced stuff vs ikea. Or I make sourdough bread and it would be very impractical/uncompetitive to start sellin…

The difference between an artisinal car and a mass produced car is that the former can only be used by one person.

This has never been true for "artisanal" software. It could be used by nobody or by millions. This is why the economic model OP proposes falls apart.

Re: The rise of industrial software

#80
post #70

Earlier quoted context omitted.

Better along which dimensions? Most luxury cars are made the artisanal way.

That doesn't make them better. It makes them exclusive since only a few could have one.

I still don't know what better means in this context, so I don't understand what your comment adds to the discussion?
Post reply on HN