@serapath @arcanicanis @Hyolobrika @Snoro @chewie I write specs because other developers use different programming languages and can't easily read my code. Even if they a familiar with the language, it takes time to understand someone else's codebase, and communicating in human language is much easier.
Another reason is implementation details: every software is unique and developers usually don't want to copy each other. Only features that are common between different implementations are described in specs, this is necessarily a collaborative process.