Here's a guy saying software engineering is not engineering and getting Steve McConnell's disagreement.
If developing software is also engineering, where does it stop? Only if we can say what is and is not engineering, can we say whether programmers are engineers or not.
Perhaps it is a metaphor. Then the criterion is all in the mind.