Software engineering is "programming over time." (Says the flamingo book.)
This is pretty similar to what I used to say: programming is "type something" (sounds easy enough), software engineering is "deal with the existence of what was typed" (it depends, but this can be a lot harder than typing.)
Programming is far more difficult and involved than typing, obviously. It has its own timeline, iteration. But some timelines that are quite complicated, often involve no typing, simply don't exist until something's written down.