{"url": "https://sub.xiliary.com/p/brendancodykenny/posts/18/modularity-comes-with-a-cost-so-make-sure-you-actually-need", "author": {"handle": "brendancodykenny", "name": "Brendan Cody-Kenny", "headline": "Technical Due Diligence for Software M&A", "url": "https://sub.xiliary.com/p/brendancodykenny"}, "post": {"id": 18, "url": "https://sub.xiliary.com/p/brendancodykenny/posts/18/modularity-comes-with-a-cost-so-make-sure-you-actually-need", "kind": "reading", "summary": "Modularity comes with a cost, so make sure you actually need the separation before you pay for it", "details": ["GitLab merged its Workhorse middleware into the main codebase: it was permanently coupled to Rails, so the separation was pure overhead", "Fowler and Atwood's rule of three: don't abstract until the pattern is proven three times. The same logic applies to splitting code apart", "Counterexample: Meltano stayed inside GitLab until it operated independently, then was spun out"], "links": ["https://gitlab.com/gitlab-org/gitlab-foss/-/issues/54299", "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48690", "https://blog.codinghorror.com/rule-of-three/"], "tags": ["microservices", "modularity", "software-engineering"], "happened_on": null, "created": "2026-09-29T14:50:42.139834Z", "edited": null}}