4 ms·
The companies I’ve seen do this do so for one of two reasons (sometimes both): the dependencies are just too complex or security (IP loss prevention). The forme
by teeray 3y ago
The companies I’ve seen do this do so for one of two reasons (sometimes both): the dependencies are just too complex or security (IP loss prevention). The former reason can usually be addressed by having simulators for those dependencies. Sure, you run the risk of partly reimplementing your dependencies, but the point is to get fast, cheap feedback—not 100% faithfulness. Once fast and cheap feedback has been obtained, slow and accurate feedback is more likely to succeed.
The security concerns always miss the tradeoff: the productivity of your entire dev team now has a SPOF. When I’ve worked with “cloud dev machines,” they’re great until the cloud environment dies. Then you basically have to send your devs home for the day because there is literally nothing they can do. At least I can fix my local dev machine and not impact others when it breaks.