Software is a specification. Maybe you meant requirements, but people don't have requirements - they have problems that need to be solved. It is the programmers job to devise a solution to the problem and specify that in code.
In principle there's no reason to believe that computers can't be better than humans at understanding a problem that a group of people has and writing code to solve that problem. Sure, computers aren't good enough yet to do that, but I wonder if people 100 years from now might look back at articles like this in the same way we might look at article from 100 years ago claiming that machines will never beat humans at chess.
At that point, we aren't just talking about computers that write code. You're talking about a general purpose AI that can effectively automate all human intellectual pursuits not just software development.
writing does not equate to understanding. Look at gpt-3. It can write semi-coherently but it does not understand anything. However an automated programmer does not require understanding in order to be effective.
The point is you don’t have that level of specification. Software development is a creative and iterative process towards such a specification.
I tried and failed to find the xkcd that your comment is an obvious setup for. They talk about not needing to write code and instead writing a precise specification of the program's behavior, and the other person says "code, that's called code"
(Ah, I see the sibling post linked to it, and it's not xkcd which explains why I didnt find it)