"Engineer" means someone who is licensed and is professionally and legally liable for the work they produce. Those who are licensed engineers often feel that the term "software engineer" cheapens the term because software folks are not licensed and not held liable for their work (and in some places, it is illegal to have "engineer" in your title without a license). On the flip side, software developers need a way to differentiate titles between the folks who copy-paste code from Stack Overflow with little understanding and those who build well thought-out, robust solutions. Folks sometimes put this on a spectrum from script kiddy, programmer, developer, to software engineer. Perhaps a new term is needed...