TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

The strong and weak forces of architecture

47 点作者 joeyespo超过 3 年前

4 条评论

Floegipoky超过 3 年前
I definitely see these forces at work at my current gig. In our context the lines separating what should be domain-specific boundaries are blurry. The main system is a monolithic codebase which was developed with a &quot;wild west architecture&quot; for over a decade before engineering leadership realized the tech debt was interfering with feature development. We&#x27;ve tried to draw domain boundaries but that initial lack of discipline meant that things were too far gone to easily separate them, and senior leadership has never been willing to invest in paying down this debt.<p>The points about shared tech and infrastructure hit pretty hard because it&#x27;s a single monorepo deployed to homogeneous application servers. When we do bump up against issues with infrastructure we almost always end up building one-off shims. Our architects call them Microservices.<p>Code contribution is messy too. For any given feature, core functionality is typically owned by one team along with some of the downstream effects. The rest of the downstream effects are owned by other teams scattered across different verticals and often continents. It&#x27;s rarely safe to change the core functionality of a feature by itself. Dysfunctional politics leads to projects getting delayed because of miscommunication and different priorities, and we can&#x27;t risk encroaching on someone else&#x27;s fiefdom. I recently burned a lot of political capital doing just that because a critical deadline was at risk.
rackjack超过 3 年前
9 comments and all are about pedantry.<p>I found the article interesting, and I wonder if anybody with more experience could give their 2 cents.
joneil超过 3 年前
That was a helpful read, thanks. My company (also in Melbourne!) is probably one stage of growth beneath this. We have “verticals” and “teams” but don’t really have the layer in the middle yet (“domains”).<p>As we’ve grown from only a few teams, to multiple verticals, we’ve tried to jump straight from unclear boundaries and implicit APIs to fully versioned services and packages.<p>Thinking about these as solutions to communication problems, where the problems differ in degree depending on the number of teams interacting with it, is a useful way of framing the discussions.<p>Hopefully it brings some clarity to discussions about when the light-and-loose methods are okay, and when the more heavy processes are justified.
physicsgraph超过 3 年前
The proposal seems to be that software design guidance correspond to existing hierarchical organization structure. A formalization of Conway&#x27;s Law [0]. The more people in the hierarchy that coordination touches, the looser the coupling.<p>[0] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Conway%27s_law" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Conway%27s_law</a>