Engineers are producers .. programmers also also producers, but they're more of consumers..

Engineering requires more scientific/practical s*it to learn.

a programmer just keeps typing buttons :-) (funny... but
really... this is not a biased opinion)

if a programmer does more than just typing keys,
he's working on a space research project, not on
Microsoft's Minesweeper game..

an engineer, on the other hand, has do to do a higher
intellectual work (on average.....) than a button typer
who works for microsoft ...

but when you're talking "software engineering" .. he's
probably equivalent to an Electrical Engg.

Programmers are usually button pushers..
in other words, Engineers rule!, they can
design circuits and chips, and they can also
write considerably good programs 'cause they
also write programs to make microchips and
to let them function efficiently.

whereas, a programmer (not an engineer), looks
at his life thinking of working in dirty companies
like Microsoft writing unstable code for Windows
and wrting minesweeper games..
he 'can't do anything more than that .... maybe
he drinks coffee 10 times a day :-)