Software developer and Software programmer it’s the same.
But in certain companies…
But in certain teams or companies make a slight difference mentioning the programmer only give instructions to the computer without considering actual customer needs. They consider the developer with a bit more responsibility on warning when there is some kind of contradictory requests, or when there is something obvious that the customer or the project leader forget to ask.
Then, there is no formal definition difference but some word some people want to use to differentiate expectations.
About the Software Engineer is the one in the team that makes things happen to make the project fulfil the goals the customer wants. The Software Engineer can also develop, implement things, but also can evaluate programmers did the job, or how to integrate and merge code from diverse developers, make some POC, check if it is being fulfilled the architecture, or define strategies according to the deadline and the budget.
It is the technical side or counterpart of the project leader.
Beyond them is the architect, that defines principles common to one or more projects, and balance and define strategies to fulfill the nonfunctional requirements, like performance, security, and others.
I made a video that explains briefly those and other 4 roles that will be the most requested during next year (It has English captions)