However if your application docker container requires compilation and you need to restart docker compose once you make changes to the codebase (and/or want to run integration tests), the whole docker compose flow might add an extra minute or two to your feedback loop and slow down development.
In those cases I'd rather run everything locally (still would include docker-compose.yaml file for developers who prefer that and are not comfortable running all required services locally).
Developing Go applications I have found my development flow much more agile without docker, docker was decreasing my productivity a bit so I stopped using it.
Our current integration test suite runs entirely through docker compose flow normally (in the CI or locally) but launching the integration test suite outside of docker, if you have all dependencies running locally, is quite faster and saves a lot of time, thus increasing my productivity.