Hacker News new | ask | show | jobs
by jsharf 1303 days ago
I think it's actually normal for teams to have duplicate functionality. The requirements are usually never actually identical and when you try to merge them it results in services with complicated configuration that have N^2 edge cases which leads to more bugs or more complicated code. I suspect what you're describing is somewhat unavoidable, and not even a bad thing.

That being said, Google for comparison does have good code re-use for certain core resources, like spanner, cloud, tensorflow, borg, etc. If you're talking about bedrock infrastructure like that, it's quite a different picture.

1 comments

I did not say it is bad. I just wanted to point out that N^2 communications are a big hit (of course we know them for long time) and people under-estimate the co-ordination effort and the fact that already running systems impose constraints that are not true for green-field efforts.

I think I am regurgitating mythical man-month here and will shut up.

> the fact that already running systems impose constraints that are not true for green-field efforts

Maybe I'm doing it wrong but I often find that doing a new greenfield project sounds easier but by the time you deal with all of the non-functional stuff (connectivity, resilience, logging, build tools, documentation etc) you might have been quicker holding your nose and bodging it in somewhere vaguely appropriate in an existing system.

There is shit-ton of work to be done :)