Test only the interface
Large codebases that have unit tests all over the place feel impossible to make any kind of progress on. The slightest of changes that might not have any impact on the end result that the user sees is going to make all kinds of test fail that you then need to fix. You spent more time fixing unit tests then you spent making actual changes to the code and this is madness. Test the interface. If you are working on an API then tests that all the endpoints return what you expect them to return and that all the statuscodes are correct - testing at a lower level than that will slow you down more than it creates any benefit.
I wrote this after listening to this episode of the Decapsulate podcast - It's something I've been feeling for a while when working on large codebases myself but haven't heard put so clearly before.