7/14/2026 at 5:42:19 PM
I've said for a long time that composability in software is a bit like playing Tetris: the lines have to clear.I feel like that gives an even more literal tower-rising metaphor, and that's what it feels like people using agents naively (and software engineers of lower skill or earlier-career), end up violating.
Agents are getting better at folding things into themselves, especially if you direct them to... but unfortunately I've found that the architectural instincts, even of Fable and 5.6 Sol, are still wildly behind what I reflexively achieve, say.
For sure there is an ability to have agents go back over work and try to fold it into better and better abstractions until it's sort of annealed into something good. I've done something similar on codebases that I have, but the 'high reaches' of architecture with great _prediction of how the software will evolve in the future_ in _subtle_ ways – those are, for now, out of reach of agents.
There is a part of me that wonders if it's partly just how much they can hold in their head right now, though. Even with the greatest articulation and high density of feeding them, the current setups don't allow them to hold a high-quality, sparse, 'zoomable' model of the world in their head that well yet, which we can do pretty well.
But the fact that I'm talking about it in terms of that kind of subtlety is itself promising, I guess?
by tekacs
7/14/2026 at 5:51:04 PM
The upper bound on program complexity used to be the power of the human mind. "Vibe coding" can break through that barrier. But not because the problem being solved needs that complexity. Because the process does not drive itself towards compact abstractions. It's the AI-powered version of the scaling problem Brooks described back in "The Mythical Man-Month". The combinatoric problems get worse with scale. Concretely, multiple similar implementations of roughly the same thing appear in different parts of the project. This is a known problem of vibe coding now.We need some way to make AI-driven coding strive for parsimony.
by Animats
7/14/2026 at 5:59:45 PM
Why would it? It has optimized what it was built to optimize: this is the token-selling industry. Take note that the people hawking the dream of a gold rush are not actually mining but selling shovelsby conartist6
7/14/2026 at 7:04:12 PM
Same issue happens in models trained by organizations who aren’t selling tokens. I believe it’s because being parsimonious is simply harder. Achieving the task at hand independently and declaring the job done is easier than building an abstraction and reconciling between every use case.by ashdksnndck
7/14/2026 at 9:53:11 PM
Agreed. I've noticed this happens without fail in any project driven primarily by "tickets" and "sprints". Finishing the immediate task ends up taking precedence over future concerns that cover a wider scope. On the other end of the spectrum it's easy to spend too much time at the beginning humming and hawing about the best, most future proof design, because you just know you're not going to be able to easily fix it later. As is often the case, the right approach is somewhere inbetween, which is partly why it's a hard process to automate. you're constantly making judgement calls.by radarsat1
7/15/2026 at 4:54:12 AM
I have a vaguely-relevant war story.1998 - Huge business, re-writing some vital piece of the platform in the middle of Y2K. Contract coders are expensive but also the only available people to throw at this.
The architect had mapped out the entire system down to class/method level. They'd produced a huge list of classes and methods that needed to be built. So the company hired a bunch of contract coders to build said classes and methods, including your humble protagonist. We were each given a list of methods to write up - parameters, operation, expected output. We wrote them up, and ticked them off the list. We were not briefed on how they interacted. There were no tests that we could run. There was apparently no-one checking that what we wrote in the method actually matched the spec. This was before git, so version control was extremely rough, and also before JIRA (iirc the list was an Access database).
We all realised very quickly, like the first week, that this entire project was doomed. But we were getting paid a lot of money to do this, so we just did it. It got really boring really quickly. Every day we wrote a bunch of methods, and next day got a list of the next set of methods to write. The lists just kept coming, with no idea how long the master list was, or how the classes interacted with each other, or how the system actually worked, or anything.
I left after a month. The money was good, but the boredom was driving me insane.
I learned later from friends who stayed that the whole project was canned a couple of months later when it became obvious that this was a complete waste of money and would never work.
Whenever I see a project manager staring at JIRA instead of talking to their people or looking at the codebase, I'm reminded of this project. And your comment reminded me of that ;)
by marcus_holmes
7/15/2026 at 6:54:00 AM
Crazy to think that if it was specced out so well, a modern LLM would make short work of the whole thing. The things we used to get paid for!by zeafoamrun
7/15/2026 at 1:05:26 PM
lolol you're joking right? as a joke it's funny. If you think thats really what it sounds like when a project's design is well-understood... ... ...by conartist6
7/15/2026 at 4:10:50 PM
Poe's law continues to be a bitch...by mpweiher
7/14/2026 at 8:19:11 PM
Labs are trying to make long-horizon work. Even if you're a coding agent, adding more and more surface area is distracting to that goal. There is reason that RL over long traces should, at least in principle, optimize for building in ways that help the result fit in the model's context window.A meaningful risk of course is that the tools available to the model (ripgrep + fancier semantic approaches) allow it to do a good job of reasoning over things much larger than its context window, and so it doesn't pay the penalty sufficiently to fix it.
by tekacs
7/14/2026 at 8:33:06 PM
Does that not sound a little silly to you when you say it? Should I invest in becoming a memory athlete as a way of becoming a better software engineer? ...or should I learn how to build and use tools?by conartist6
7/14/2026 at 9:29:30 PM
While I don't disagree, memory certainly was more of a restrictions on us humans than it is on llms. Therefore, the answer may not be as obvious as it seems. We build abstractions to reduce (memory) footprint of features, right?by gnatolf
7/14/2026 at 10:18:18 PM
Humans built codebases many millions of lines long, well before LLMs existed. Human memory has not been a restriction on us in a long time.Look at all the libraries full of books we've built. It's useful for more than mere training sets.
by chongli
7/14/2026 at 10:30:17 PM
I think the trick here is plural; I guarantee no single human knows all 1 million lines. Note this is different than knowing how to orient yourself in a million line codebase quickly.The limit here I think the ancestor comments are getting at is cognitive load, which is real and measured. We only have so much memory to devote to a "stack" when executing, and it's usually quite constrained.
by conrs
7/14/2026 at 10:48:32 PM
Note this is different than knowing how to orient yourself in a million line codebase quickly.Hence my library mention. Humans have been doing this for millennia: orienting ourselves within a library (the physical kind, full of books) and calling upon its information resources as needed to accomplish tasks (research). Ultimately, it's all just one big cache hierarchy. Your short term memory, your long term memory, the book in your hands, the desk at the library, the nearby shelves, the card catalogue, the stacks, the inter-library loan system.
To manage it all, we humans have developed our abilities for abstraction. When we build clean, tight abstractions we reduce our cognitive load. Perhaps the best abstraction we've built so far is the TCP/IP and web stack. We don't need to care at all about the hardware details of a server in order to talk to it. It's such a powerful and airtight abstraction that we take it for granted.
I'd like to hear from more people who have spent a lot of time building with LLMs, because so far what people are saying is that these models do not have the ability to reason about and build the kind of marvellous abstractions us humans have built.
by chongli
7/14/2026 at 11:05:55 PM
Fair, my mistake.I've built a lot with LLM's, my experience sort of but not really tracks that. I've had to course correct a few bad abstractions but the larger the code base becomes the better it seems to be at reusing things. Maybe this is because of types, or spec-first development (with OpenAPI), or black box integration testing - but also maybe not. But generally I have to think about the abstractions and let the LLM fill in the details with rare exception.
by conrs
7/15/2026 at 12:02:19 AM
I built a web-OS, a graphical IDE, and a version control system to replace git, all in about 40,000 lines of highly abstracted Javascript. If you're thinking about how important it is to be able to maintain million-line codebases, I suspect you might have substituted a metric for the actual end goal.by conartist6
7/15/2026 at 7:15:33 AM
That looks like a nice feat, can you share a repo?That said, reality at scale always come with details that will break the model, and the main roads when it happens are to ignore/reject any change proposal in the model, go in the mystic quest to reach a model that will fit it all including these new cases with an elegant simple solution, or accommodate special cases on the side until it grows too big or just percolate too fast in the main part to let it be sustainable.
by psychoslave
7/15/2026 at 11:21:01 AM
It's a GitHub org: https://github.com/bablr-langBasically we've taken the "mystic quest" route, but we now have a pretty damn good data model
by conartist6
7/15/2026 at 2:24:25 PM
While you’re not wrong, this is also simply mechanical, the context window is the root problem here, if the llm doesn’t happen to have read implementation n of a thing that it needs that session, well now you have n+1 implementations.by FuckButtons
7/14/2026 at 8:49:03 PM
All the open weight models, that are given away for free, across orgs and even nations, are using the same methods to achieve high performance.What's more profitable, optimizing for inference time or optimizing to increase inference time by increasing token count?
by nomel
7/15/2026 at 12:16:24 AM
The question is that if it can go beyond the upper limit of human mind complexity, would we be able to understand it or use it?I cannot remember who it was but there was an author who was traveling with their dog. They noticed that their dog would always pee on various tree to mark them as their territory. On their travels they ended up need some giant Red wood trees and figured, "I want to give my dog the ultimate claim of territory."
So he took his dog up to the Red wood tree and it did nothing, instead the dog wandered over to a smaller sapling and peed on that instead. The problem was the Red wood was so big and alien to the dog, it didn't recognize it as a tree.
I do wonder how many things are like that in our universe, that even if we could see them, we just wouldn't be able to understand it because it just goes beyond what we are capable of understanding. We think we have a grasp of the universe and use models to codify it but that is no guarantee that we can truly 'get it'.
Could higher level AI code be like that, would we know when we see it?
by ColdStream
7/15/2026 at 1:40:28 AM
Excellent post.by jambalaya8
7/15/2026 at 7:21:35 AM
If we would be able to act that consciously, humanity would be flourishing without anyone sent to war or starvation.It doesn't look like we are that bright, at least collectively. And if they are individual which are really above everyone else on that matter and the rest, like maybe you but definitely not me, then their individual power seems to be unable to move us all away from our collective ill habits.
by psychoslave
7/14/2026 at 9:03:19 PM
> The upper bound on program complexity used to be the power of the human mind.Maybe for simple one-person projects. We've long since developed methods and models to allow us to make things bigger than ourselves. Linux, SAP, etc. These software projects are not held in the mind of a single developer. But we use structure, rules, and other tools so that the pieces still fit together.
by fooqux
7/15/2026 at 7:17:39 AM
They said "the" human kind, not "one" human mind. Even with structures, rules, and other tools, we are limited in the amount we can abstract, comprehend, and communicate. As projects get larger, we inevitably see a friction develop where coordination breaks down and we turn to isolation and responding to failures at the boundaries. This is where complexity in design of an individual system ends. Larger ecosystems aren't designed or coordinated - they emerge organically as each tries to adapt to the other. If only we could handle such complexity, we could design efficient systems that don't suffer from the same waste.by RevEng
7/15/2026 at 8:03:16 AM
Fair enough.I do worry what that will mean for projects such as Linux though. Not that I think it will die or anything, but rather that it will become so fragmented that forward movement ceases.
by fooqux
7/15/2026 at 4:09:07 PM
We need programming languages that can express the problems at densities similar to the English language prompts.So: better modularity.
https://blog.metaobject.com/2019/02/why-architecture-oriente...
by mpweiher
7/15/2026 at 8:20:25 AM
A friend of mine built just built a project for doing something like that, although it's built on enforcing a spec rather than elegance: https://medium.com/@joeldg/architecting-out-of-the-vibe-how-...by khafra
7/14/2026 at 8:40:06 PM
> "Vibe coding" can break through that barrier. But not because the problem being solved needs that complexity. Because the process does not drive itself towards compact abstractions.It's the infinite AI monkeys at a computer keyboard phenomenon.
Or the car on the highway that bumps left and right on the guardrails until, eventually, it arrives at its destination and nearly everybody is amazed at that great success.
The AI kool-aid drinkers are going to answer: "but that's how human code too".
And I'm really not sure about that.
by TacticalCoder
7/14/2026 at 8:45:29 PM
It's perhaps how some humans code but frankly if you have those people employed to build software for you, you have big problemsby bluefirebrand
7/14/2026 at 9:06:22 PM
That's some idealistic nostalgia. Software is generally poorly built today, and it's evidently not big enough a problem to fix.by pishpash
7/14/2026 at 9:17:27 PM
Large companies that can keep themselves alive with regulatory capture - absolutely. For smaller companies that need to compete the software quality and ongoing cost of maintaining that software is a real consideration.That isn't to say software is perfectly built, but it's usually pragmatically built to balance costs of development and correctness - well chosen abstractions let us push up both qualities at once.
by munk-a
7/14/2026 at 9:40:37 PM
I think every type of company has ways to workaround software quality. B2B can tend to define the bug as the feature or too low priority.. B2C can often decide backwards compatibility simply doesn't matter and just replace things with other things with only some actual feature overlap, etc.by tibco
7/15/2026 at 12:26:24 AM
That's an interesting question.What happens if we take the most abstract libraries in any given field - and:
1. Bound to the llm to only use those as building blocks. Does it affect his reasoning ? Will it think more abstractly ?
2. Train the llm on those, so maybe it will get a feel for abstraction ?
by petra
7/14/2026 at 10:04:12 PM
The Allegorical Agent-Aeon?by sroerick
7/16/2026 at 12:06:53 AM
>We need some way to make AI-driven coding strive for parsimony.This is the single reason why my experience with agentic development honestly kind of sucks, and wastes so much of my time.
The simplest prompt can result in the most verbose garbage ever produced, and scope-creep nobody's every seen before.
AI has a huge cognitive load problem right now. It's no wonder why so many devs say they're completely exhausted after a few hours, and not in ways they were before they picked up agentic dev.
by docmars
7/14/2026 at 9:08:56 PM
I think part of the problem is the context windows for humans are actually much smaller than what an LLM can keep track of today. The small context window of humans is a feature that forces modularity and abstraction in software engineering so that you can decompose what you're working on into something that can fit into your head. But since LLMs can fit so much more in their head, so to speak, they don't have this same incentive, and you get the unorganized mess of spaghetti code that current agents often produce.by arkmm
7/15/2026 at 6:25:46 AM
Also a human has to explain the code. There is a social contract and producing slop gets you fired. Especially as you produce it much slower than an LLM.by hahahaa
7/15/2026 at 9:16:07 PM
And the human has to explain it at 2 tokens/sec (average speaking speed ~130-150 wpm). That's another constraint against slop - humans need to be able to explain their code succinctly.by arkmm
7/14/2026 at 6:49:50 PM
Agreed, and ever since LLMs started being able to write competent code, I've noticed a massive difference in quality on codebases where I knew the technology, and ones I didn't. This is because I can much more efficiently steer the LLM on e.g. backend code, which is my expertise, vs yoloing everything on mobile, where I have no idea.The codebases using technologies I have no idea about tend to quickly become unmaintainable and buggy, because the LLM still doesn't make good architectural choices, but the codebases that use technologies I'm familiar with basically never devolve into unmaintainability.
The difference between the two is massive, and that's why I think that a competent engineer steering an LLM in their area of expertise gets two orders of magnitude more productive, whereas someone steering an LLM in an area they know nothing about are basically producing tech debt at the speed of thought.
by stavros
7/14/2026 at 7:44:15 PM
> two orders of magnitude more productiveShipping 100x more features per day?
by maest
7/14/2026 at 8:51:14 PM
100x faster towards becoming an email clientby Cthulhu_
7/14/2026 at 8:27:29 PM
Yes.by stavros
7/14/2026 at 8:49:38 PM
Do you have specifics? It would be interesting to see what kind of improvements are possible.by Avicebron
7/14/2026 at 9:01:33 PM
I just see in my usage that I can release tens of features a day, whereas I'd be able to release one or two a day usually. I don't know if it's 100x, but it's definitely more than 10x.I've written up my process here:
https://www.stavros.io/posts/how-i-write-software-with-llms/
The biggest thing to get right is to let the LLMs do what they're great at (code implementation from very detailed specs, and code review), and you do what humans are great (architecture and making sure the high level of the implementation is sane). That way, you get the best of both worlds, and a lot of speed at high quality.
by stavros
7/14/2026 at 11:03:33 PM
Thanks for the detailed explanation of your process, I think I'll try it out.by wasabi991011
7/15/2026 at 3:41:39 AM
Can you show us the 10s of features you’re releasing daily now?by what
7/15/2026 at 4:24:44 AM
I made this in two days:by stavros
7/15/2026 at 5:41:25 AM
Does this speed of development only apply to the early stages, or will it slow down as the codebase grows? I have yet to see these 100x improvements (and the claims themselves keep getting bigger) on anything more than prototype scale, rather than month-long projects.No doubt AI boosters will claim we have found an O(1) productivity enhancer that is somehow two orders of magnitude better than anything else before. This is entering lunacy territory.
by sph
7/15/2026 at 5:54:45 AM
To me, it applies as long as you can keep the state of the system in your head (so, same as we always did architecture).For example, I built this over a month or so and never hit a slowdown or quality issue:
by stavros
7/16/2026 at 5:08:32 AM
And it shows!by what
7/16/2026 at 5:13:33 AM
Yeah? It's not polished enough for you? Please show me the level of polish of your two-day projects.by stavros
7/16/2026 at 3:44:45 PM
> I've said for a long time that composability in software is a bit like playing Tetris: the lines have to clear.I love this analogy, and I find it darkly hilarious that most sibling commenters don't seem to understand. Maybe you need to have worked within a million-line codebase to get it.
The only way to "clear the lines" in software is to eject them from the main codebase and into imported libraries with stable, well-documented, well-tested APIs that you very rarely if ever (security vulnerabilities?) need to touch after "stabilizing" them. Great public examples: the Go standard library, https://github.com/spf13/viper , https://github.com/uber-go/zap . Viper and zap combined are more than 20,000 lines of code (according to cloc) that I don't need to read or understand how they work - their lines have been "cleared" and all I need to know is the abstraction.
Half the joy to be found when working within massive codebases is successfully clearing lines.
by solatic
7/15/2026 at 5:34:12 AM
> I've said for a long time that composability in software is a bit like playing Tetris: the lines have to clear.Great metaphor. When I hear people claim 20x productivity with AI assistance, I imagine a Tetris game where pieces fall 20x faster.
As you say, those lines still have to clear.
by sph
7/16/2026 at 5:45:15 AM
Also through LLMs we now have pieces that are strangely-shaped and are 20x larger...That probably would not be a fun game to play lol
by hojinkoh
7/15/2026 at 6:27:34 AM
Yeah I would love to sit down and see what exactly one of the 20x people us doing. Either I spot the flaw (99%) or there is some utter magic they are doing (1%) which I could try to learn.by hahahaa
7/15/2026 at 1:04:52 AM
I can't prove it but I have strong beliefs that the logic and intuition required for abstracting for future changes is not possible in a stream of predicted tokens. Mental models aren't built from text. Something's missing that can't be measured.by _superposition_
7/15/2026 at 8:16:20 AM
I believe similar.Maybe not exactly the same thing, but I think one related representation of this in any good codebase is documentations in the code: Good documentation always focuses on the why and not the what. i.e. things that are not represented by or representable in code. It may describe not only why a certain choice was made, but also why not something else. In general, the whole point of these documentation is to account for things that are beyond what can be understood from just reading the codebase including other existing documentation, that you may never even imagine with all the tokens in the world otherwise, which were yet a critical part of our coding choices.
If we are to believe that LLMs can build complex systems, then it's equivalent to saying that LLMs can make similar decisions equally well without any of that... which also then implies that we essentially never needed these documentation to begin with other than as redundancy for human needs.
by tau5210
7/15/2026 at 2:07:04 PM
I can't really explain it but when I am working with a system in my head it's not represented as text. It has an almost physical dimension to it similar to imagining how an engine works or what have you. This is obviously beyond the grasp of an LLM.by _superposition_
7/16/2026 at 4:40:11 AM
Interesting! Makes me curious what you do for work.by tau5210
7/15/2026 at 5:13:01 AM
The real understanding builds on not knowing. Once I realise I don't know something I cease thinking and start watching the thing. Then somehow I understand.We do have a mechanism similar to LLMs but it provides existing knowledge; it's a search mechanism, basically. New knowledge happens when we turn that mechanism off.
by Mikhail_Edoshin
7/15/2026 at 6:30:47 AM
LLMs can learn but only by copy paste into that tiny context. Actually theoretically they could self fine-tune but it would be very expensive/slow.by hahahaa
7/14/2026 at 9:53:12 PM
Just a matter of time. Go download gpt2 or llama2 and be shocked at how bad they are compared to today. They were entirely "useless" yet we marveled at them. Go examine GPT3.5/gpt4 out which was all the rage and then marvel at how a qwen27b or gemma31b model mops the floor today. My point is that the models will eventually learn to have a great model of software system in their head, just a matter of time and proper RL.by segmondy
7/15/2026 at 5:38:30 AM
There is no Moore’s law for AI that shows that the previous rate of improvement will likely apply to the future. It’s all wishful thinking.by sph
7/15/2026 at 6:06:33 AM
There is bunch of rich and powerful assholes trying to protect their investments.I am pretty sure rate of improvement will be there quite long in the future — even if it will be smoke and mirrors ;)
by ozim
7/15/2026 at 4:07:25 AM
> There is a part of me that wonders if it's partly just how much they can hold in their head right now, though. Even with the greatest articulation and high density of feeding them, the current setups don't allow them to hold a high-quality, sparse, 'zoomable' model of the world in their head that well yet, which we can do pretty well.My personal experiments show that giving them tools to access to all past sessions over a codebase helps a lot. When I coded "feature X" 2 months ago i likely specifically mentioned some constraints expressed as abstractions and, if the coding agent checks not only the code/feature it needs to implement/change but also the past sessions over that, it picks them up, and ships code that better fits the overall project.
At least, more than "architectural/design guidelines", since they are more "concrete", to the point for the task at hand.
Sessions self-preserve them for following sessions, which helps, but might also carry over stale things, so some "pruning" helps, and can be automated. Overall, as long as corrections were also made via agents and hence in sessions, they are picked up automatically.
It's not the "human zoom" you refer to, which as humans we can drive/control, but the effect seems to be similar: I read autonomous sessions where it picked up from the past the very design/architecture/abstraction points i would have driven, had I been in the loop.
In team contexts it should not be impossible to share sessions, but I not working in teams right now :D So maybe it's also a "single dev quirk".
Another point is that in a sense, learning to code goes from being told "you are using the_wrong_abstraction/this_abstraction_the_wrong_way/no_abstraction_where_you_should_have", to telling it to others/ourselves.
Since the number of knowable abstractions seems to be "at least one more than I already know", agents can actually be helpful in learning.
After a certain threshold, it basically zeros in a specific domain, but on novel domains agents taught me abstractions, when nudged towards doing that.
by rufasterisco
7/14/2026 at 8:23:37 PM
Isn't this just an effect of what the LLMs are RL'ed for? Solving short-horizon tasks.I assume one can't benchmaxx multi-year long efforts, clean architecture, taste etc as easily as these "make tests pass" tasks
by VMG
7/14/2026 at 7:59:02 PM
> the lines have to clear.Sorry, the lines have to clear what? Surely there must be some kind of constraint on "lines" that they have to overcome.
by throwaway27448
7/14/2026 at 8:15:16 PM
The lines (rows) in Tetris have to become complete and then disappear to make room for the new falling pieces.In code the thing has to become stable, can't just keep packing more and more noise onto it.
by edoceo
7/14/2026 at 8:16:33 PM
Absolutely this: and it needs to ideally become the kind of set of abstractions that mean that every new thing added uses less net-new surface area than it would without them.by tekacs
7/14/2026 at 8:15:42 PM
I mean that at the bottom of the Tetris board, the lines need to vanish so that the Tetris board keeps moving downward and doesn't grow unbounded.by tekacs
7/14/2026 at 8:49:04 PM
I have a theory (armchair take here lmao) that AIs are trained on public code, but the biggest codebases are not public.Although I suspect models from Google, Facebook and Microsoft can be trained on their massive internal codebases. Whether they are is another question.
by Cthulhu_
7/14/2026 at 9:17:05 PM
I’m not sure you’d see that big of a difference in quality. There is quite a bit of cruft that can accumulate when you know the code will never be public.But, you would probably see a difference of scale and architecture. Larger projects that need better organization are probably more likely to be in private codebases (Linux excluded). So you might be right about the lack of private code in LLM being an issue.
by mbreese
7/15/2026 at 1:35:55 AM
I have another thought on this:At least in the past (before LLM-based code contributions got socially acceptable in some circles), in open-source project you often got very direct comments on code that was of bad quality. Yes, this was always a little bit abrasive, but it did a lot for the code quality.
For internal applications used at companies, such an abrasive behaviour is typically not accepted ("not a team player" (as if this is something bad), offended snowflakes, "not socially adept" etc.). Thus the code quality suffers quite a lot for internal applications.
Have you ever thought why salespeople have such an easy time selling some LLM for coding to big companies? Because the code quality of many internal applications is so bad, which makes even shitty LLM slop code often better than what is there.
by aleph_minus_one
7/14/2026 at 6:49:04 PM
Do you believe "micro services" can make a comeback? local daemons with an exposed API, each daemon vibe coded?by Gud
7/14/2026 at 7:49:30 PM
Microservices don’t reduce complexity, they just move it to the interactions between services. You have the same fundamental design problem.In other words, if you can’t design a modular monolith, you can’t design a set of microservices.
by jdlshore
7/15/2026 at 1:27:27 AM
> if you can’t design a modular monolith, you can’t design a set of microservices.I somewhat disagree:
Yes, it is possible to design a modular monolith, but thinking about the system in terms of a "minimum viable service" (but keep an eye on "viable", otherwise you can easily get into the "interaction problem") makes it much easier.
This is very similar to how you can write programs with no implicit state in a imperative programming language, but doing this in a pure functional programming language such as Haskell is much easier.
by aleph_minus_one
7/14/2026 at 6:57:43 PM
Unless we are planning to deploy them all individually to an expensive serverless platform like Lambda, the coordination challenges and overprovisioning are going to more than outweigh whatever architectural benefit you reap (in human-centred development, micro services are solving an entirely different problem - Conway's Law)by swiftcoder
7/14/2026 at 8:50:47 PM
What problem would it solve? They're still part of a larger system ultimately. Sure, smaller codebases with more focused scope can be good for e.g. human individuals and LLMs, but there's multiple ways to achieve that that don't require a network boundary.by Cthulhu_
7/14/2026 at 8:25:21 PM
Microservices are about separate deployment. Regarding separating the development/maintenance of components, you can achieve that in a monolith by composing it out of corresponding modules/libraries with defined APIs. That’s good practice anyway.by layer8
7/14/2026 at 10:53:00 PM
Not microservices, but something more akin to FaaS into a mesh, with a backing domain logic library.by CuriouslyC
7/14/2026 at 8:00:27 PM
Sure, why not? The same reasons they succeeded originally will work just as fine now.by throwaway27448
7/14/2026 at 6:49:58 PM
Please no.by stavros
7/14/2026 at 6:59:13 PM
Lemme guess, you were in favour of monolithic systemd too?by jambalaya8
7/15/2026 at 6:39:43 AM
All have its space. Small team, do monolith or you'll stop moving. Big teams, be wary of Conway's law, and don't fight it, probably some services will emerge.by permalac
7/15/2026 at 4:09:50 PM
My laptops used to be lean, mean fighting machines until that happened.by jambalaya8
7/14/2026 at 9:23:12 PM
Hah Tetris that really matches my "everyone has to draw their own line constantly".by 4b11b4