logoalt Hacker News

YZFtoday at 5:06 AM3 repliesview on HN

The problem is that bad architecture can be carried forward for a very long time at increasing cost.

The ability to differentiate good and bad architectures seems to be a lost art because to build this ability you need to have enough experience (e.g. the discussion in "The Mythical Man-Month"). Most software developers today have had no experience designing even a single system and many systems are often a random assortment of stuff thrown together by people without enough experience. What I call the "sort of works" architecture. It has big gaps but it sort of works and so there is continuous investment in trying to make it good, which is often a waste of time. You've lumped a bunch of stuff together to build something and now you're stuck with it.

AI as it is right now is probably a driver to make this worse because it makes it so much easier to throw random stuff together.


Replies

cjfdtoday at 5:34 AM

So what would be a good architecture? How would I recognize it if I stumbled against it?

My own inclinations here are that it would be good to have as few different technologies as possible. To run things on as few different machines as possible and to have automated tests for everything. The thing is that as soon as there are multiple technologies you get to have different people specializing in them and it is always the communications between those that becomes painful. The automated tests are there to prevent fear of change setting in. I think I am kind of advocating what is called a 'big ball of mud' but that I want it to be a transparent ball of mud because of automated testing. I guess what I am saying is that I distrust most developments in so-called application architecture of the last few decades except automated tests. In particular, I think frameworks and microservices are mostly just bad.

show 4 replies
ManuelKiesslingtoday at 5:32 AM

Well it can go in both directions I guess. How to design a system well for the long term is definitely in the training data, and I‘m regularly very content with the suggestions that SOTA coding agents make when asked for it.

sroericktoday at 5:28 AM

> AI as it is right now is probably a driver to make this worse because it makes it so much easier to throw random stuff together.

My experience has been the opposite: affordable slop makes me way more conscious about architecture because bad patterns become useless exponentially quicker.