5 ms·
My concern with this is embedded right in the article: One of the benefits to the majestic monolith is that it basically presumes that the people who
by femto113 11y ago
My concern with this is embedded right in the article:
One of the benefits to the majestic monolith is
that it basically presumes that the people who
work on it also understand it.
I don't consider this a benefit, it is instead a substantial risk. And it is something that is almost impossible to maintain indefinitely as software teams grow, companies merge, new platforms or partners emerge, etc. The new developer tasked with understanding a monolith has a nearly insurmountable task compared to understanding a limited-scope service. Ultimately I think software architecture is more usefully approached as strategies to prevent disaster rather than creating the opportunity for majesty.
- ktRolster 11y agoAnyone who truly writes majestic code will write good whether it is a monolithic project or a distributed project. Some of the code in the Apollo project was truly beautiful, even though they didn't have functions. I'm kind of doubting that this guy writes majestic code, I would like to see him put more emphasis on separation of concerns, which you should have even if you don't use a distributed architecture. (Also, as you point out, "everyone understands every part of the project" only works for small projects).
- lallysingh 11y agoWell it is a giant risk. ButDHH's entire shtick is to sell well-known bad ideas as "good enough." Usually by a combination of straw-manning (e.g., splitting up your app) and semi-hokey common-sensism.
- deleted 11y ago[deleted]
- rwallace 11y agoI don't think you and OP are necessarily contradicting each other. OP explicitly says that if you are a big company planning to get bigger by doing lots of hiring or acquisition, his advice is not addressed to you, and you should take advice from big companies. He's saying if you have a small team that is going to stay smallish, that's a different situation that warrants a different strategy.
- femto113 11y agoThe problem is that "is going to stay smallish" is a prediction that has a very high chance of being wrong in the very long term. There's also an assumption that the organization retains its understanding of the monolith indefinitely, which even in a team that stays small can be lost due to turnover.
- deedubaya 11y agoI envy your confidence of being successful!
- coldtea 11y ago>And it is something that is almost impossible to maintain indefinitely Well, no software is possible to (or will be) maintain(ed) indefinitely.