logoalt Hacker News

inigyoutoday at 2:49 PM1 replyview on HN

It should be sharded per team.

I think many shops made the mistake of sharding per deployment unit or compilation unit of a larger whole. My first exposure was sharding per executable file of a firmware image. That's just terrible. You can't coordinate changes that you want to be atomic in the firmware image.

In response I think some people went to monorepo to get atomic change sets but now they're too big. If you have an android app team and a backend team, and they don't deploy together or build together or do anything together besides agree on an API, which has to be backwards compatible anyway because apps don't instantly self-update, there's no need to put those things together if it causes headaches. It's probably better to have too many things together than too few, but neither is ideal.


Replies

srousseytoday at 3:12 PM

No, team is way too small. Team group is a better resolution. You want a certain amount of ownership for a repo that will survive a team being laid off, for example. And a bit of cross responsibility may seem annoying to a single IC, but is beneficial to the company.

show 1 reply