May 16, 2023
I can't disagree with most of what you said. But I think perhaps it's just a question of mindset. I prefer to teach people: "don't create interfaces unless you specifically need one" rather than "interfaces should be designed before the implementation".
In the former, understanding when an interface is useful is something that comes much more naturally, in my humble opinion.