2 ms·
But I don't really agree. If you are a small team solving a small part of a larger problem and you have done a good job of defining your external interfaces, yo
by redredrobot 6y ago
But I don't really agree. If you are a small team solving a small part of a larger problem and you have done a good job of defining your external interfaces, you can make decisions about how to solve your subproblem quickly and independently. Also, process/culture decisions (e.g. code style, automated tooling, code review standards, update cadence, etc) become easier because you only need to come up with a solution that makes ~10 people happy instead of a solution that serves the needs of 100+ people.
- jeastwood 6y ago> If you are a small team solving a small part of a larger problem and you have done a good job of defining your external interfaces I think that's where you and the other commentator are talking past each other. Amazon tends to have great managers and senior ICs that get the responsibility and technical divide right. My experiences outside Amazon unfortunately point towards this being hard to get right in the first instance, and really really hard to fix once it has gone wrong.
- redredrobot 6y agoYeah, that's a fair point.
- toast0 6y agoThese are all the same thing. Or at least, they all reinforce each other. You can make quick decisions because you don't have to communicate with a large group. You don't have to communicate with a large group because you own your space. You own your space because you have clear external interfaces. If the external interface needs to change (from your side or the other side), it requires external communication and is probably slow, so you (and the other side) try to get it right the first time and minimize changes.