Engineers vs. Developers
Often we see that the terms: software engineer, software developer, and programmer are used synonymously. While there shouldn't be a distinction, in reality, there's a very slight connotation between these terms for job postings and for positions at companies. This is just an observed trend-- in theory they should be exactly the same.
Some may argue that one's educational path is the only distinguishing factor between these terms, but really it is more about the skill-set as a whole. Therefore, it’s not true that a self taught programmer or bootcamp grad is a developer, and that a CS degree holder is an engineer.
Typically speaking, "engineer" positions expect not only familiarity with programming and development, but also with fundamental computer science concepts and thinking at the architecture level. The desired candidates would have studied the engineering processes: from requirement gathering to prototype designing, and from the actual development to the maintenance, "software engineer" roles need awareness of all the processes that are involved in the development of a product.
On the other hand, "developer" job requisitions will typically focus more on hands-on coding. There's not as much of an expectation for in-depth understanding of architecture level details.
Again, we're not talking about individuals with either title-- we're talking about the expectations set by folks who use these titles for job postings. Knowing these expectations and connotations helps to deeply evaluate opportunities and see how companies perceive their development teams.