Sim, você deve codificar contra interfaces, em vez de implementações conhecidas, e sim, você deve construir interfaces primeiro, em vez de fazê-las emergir de seu próprio código.
As razões para ambas as recomendações são basicamente as mesmas: a programação de computadores trata principalmente de fatores humanos. Muitos acham isso surpreendente, mas consideram: existe um número quase infinito de maneiras diferentes de resolver o mesmo problema de computação que funciona igualmente bem. Quase todos eles são completamente impossíveis de entender para quem não os escreveu (ou de fato para o autor pouco tempo depois).
Daqui resulta que uma boa engenharia de software trata principalmente de como alcançar o efeito desejado (computação correta com eficiência razoável) de uma maneira que permita que o código fonte seja trabalhado posteriormente. Interfaces e APIs são uma parte crucial dessa disciplina: permitem que você pense sobre um problema em um nível de descrição por vez. Isso é muito mais fácil do que pensar em regras de consistência de negócios e em implementações de listas vinculadas ao mesmo tempo, e, portanto, impor essa separação de preocupações à força é melhor do que permitir que o programador cliente use seu código da maneira que desejar.
É difícil de acreditar para muitos programadores de cowboys, convencidos de que entendem tudo o que escrevem, são muito melhores do que os pensadores comuns e podem lidar com toda a complexidade que causa problemas aos programadores "menores". Não estar ciente dos próprios limites cognitivos é um fenômeno extremamente comum - é por isso que as melhores práticas em organização de códigos são tão importantes (e muitas vezes ignoradas).
Para repetir, interfaces e barreiras de API são bastante boas , mesmo quando você coopera apenas consigo mesmo. Quanto às bibliotecas externas, se elas trouxerem uma API bem pensada, não vejo problema em usá-la, desde que você não espere ter que trocar essa biblioteca por outra. Caso contrário, um invólucro ou camada anticorrupção pode ser uma ótima ideia.