I guess it was more common in the card data days where you could write comments by hand on the card.
We also had language models that could generate code out of very precise specifications back in the 90's. They were called offshored programmers. Send an email in the evening and get a .zip file in the morning with code. Sometimes it would even compile!
Engineering is much more than that. It's about being able to formulate, understand and analyze (conflicting) requirements as well as the ability to gain domain expertize as needed. The best example of that is Carmak and binary space partitioning. [0]
To me, what GPT is going to achieve with it's current performance is akin to what compiled and interpreted languages did: You no longer really care about word size, endianness or alignment issues. The compiler takes care of generating the correct assembly for you. Same thing with snippets generated with GPT.
[0] https://fabiensanglard.net/quakeSource/quakeSourceRendition....
You might end up writing the right solution, but because you didn't communicate "what", "how", and "why" you did clearly enough, you will setup other developers for failure.
The first hard problem is to understand what to build. The second hard problem is to build it in a way that is clear and maintainable.
In reality, while software developers probably enjoy the act of coding, it’s rarely the interesting or difficult part. It’s just the rendering you do to bring all the work you did to life.