1. 1

    Then you add a dependency on a database, then an API server.

    The problems start here. Services should always have a “dev mode” where dependencies like DBs and API servers are mocked or stubbed out. Working on a service should always be possible on a laptop with only that service (and its code dependencies) checked out, and with no internet access.

    1. 2

      (disclaimer: Tilt builder here)

      This feels like saying “you should unittest”. Yes, you should.

      But it’s also good to make it easy to add integration tests.

      1. 1

        It’s also good to make it easy to add integration tests.

        All else equal, sure; but all else isn’t really equal. Developers shouldn’t generally be running integration tests on their laptops, that should be happening as part of the CI pipeline, where bootstrap scripts (or whatever) aren’t generally necessary, and tools like docker-compose make more sense.