Aleksei Ivanov

Interfaces as documentation

https://www.youtube.com/watch?v=v4F1gFy-hqg

This short talk by Matt Pocock has some great insights about how to work with AI and code on a professional level. Obviously, vibe-coding is not an option when you are doing mission critical tasks. And any project becomes mission critical once it reaches commercial success (that is, if you care about keeping paying customers).

Interfaces are a great way to separate the responsibility between design and implementation: let AI do the "dirty work" of writing the implementation, whilst we focus on designing the interfaces.

To be fair, I have not really tried this myself—I prefer to audit the implementation as well, because it is just too risky. However, I can see how this can be a better approach than spec-driven development, which is very verbose (albeit, sometimes there are simply no other options).