These optimizations are impressive, but it gets me thinking: at what point does a company become a collection of impenetrable siloes, where nothing really does what you expect? Maybe know with AI this is less of an issue as exploring a codebase is also much faster.

I feel like any company whose products have RESTful interfaces are already there…

One wants to turn on an indicator on a remote device. A simple Boolean value. But we need networking, TLS, authentication plugins, certificate validation, distributed logging, containers, orchestration, HTTP client/server, interprocess communication, daemon dependency management, …

Sure, one can say each of these layers and abstractions has an important and justifiable purpose. But one can also step back and start wondering - what the hell are we really doing???

At some level, it seems like each layer of abstraction has to manage others, only simply because they exist.

Imagine the simplicity of 1800s telegraph signaling - no software!

Too often we build systems with Fortune-50 style hierarchies when a 5-person team could do the whole job.

Build a system as simple as possible but no simpler.

An 1800s telegraph system doesnt work in the modem world, there is far too much communication and the system would just collapse into molten slag.

All those things you've listed are because we live in an adversarial world and I'd steal all your money off the telegraph wire if you tried it.

Kind of like analogue TV. Sure it worked and was simple, but consumed some prime spectral real estate.

[deleted]

Having worked in hardware for a moment, everything we do in software is like this. Even C.

There are a whole series of blog posts from the Fishworks guys explaining why it could possibly be so hard to turn on one LED.

But Oracle probably deleted then so you'll have to find them on archive.org.

[deleted]

My intuition around larger companies is they are already impenetrable silos, and AI makes it worse

The trick is to keep the silos losely coupled and small enough that you can understand it reasonably quickly. A component like the one in the article is pretty good like that. It just routes traffic according to weights. It doesn't care what the weights represent. It doesn't care where the servers are. It doesn't care what the traffic is

The team that owns it needs to understand it. Everyone else can just use it.

>at what point does a company become a collection of impenetrable siloes, where nothing really does what you expect?

Around the year 2015.

Actually, AI creates spaghetti faster than any human ever could before.

The steelman argumentation is probably that spaghetti doesn't matter to LLMs and no humans will read that code anyway.

Do you feel like this is a very meaningful comment? Will someone go "mm yes, actually it's spaghetti, I didn't think of that.."

Are you trying to succinctly say AL'S spaghetti code outweighs the benefits of what it produces quickly?

If you're not saying it outweighs it, what are you saying?

I mean you can just pause and refactor regularly. I tend to use every ~4th session as an opportunity to refactor, adjust interfaces, break overly large modules into smaller ones and suchlike.

And at what point does a company start to care about performance? 100TB of RAM is expensive as hell, but getting products to market faster was worth the cost

Cloudflare is unusual in that their product is performance and their costs are primarily hardware and networking. You see similar performance initiatives from companies like AWS who also need to maximise their hardware usage.

Whereas for somewhere like Burger King, the costs are all rent and staff, so they wouldn’t care how much RAM their website uses. But you would see similar optimisation in their supply chains for their ingredients, and their rotas to reduce staffing.