To be more accurate, it depends on the environment you work in, but there are software engineers who *are* engineers and differ from programmers and developers.
In the last company I worked for (a large well known much hated (but not as much as MS) software firm) - there were software engineers who never wrote a line of code -- that wasn't what they did. To use the old automotive analogy, they were to software what the guy in a studio with modelling clay is to the car design and building industry (the guy who never touches a part of the finished car in his job). They simply worked on design and architecture - how should the UI feel, how should this software work with other software, how should this software work with the OS and file system, how should this software accept incoming data, how should this software present its completed data, etc. These engineers took the fields of mathematics, philosophy, psychology, and information systems and tried to design frameworks for the software that the developers and programmers could then implement.
Luckily I worked as a network admin so I got to avoid all of them as long as I kept my stuff running.