Desenvolvimento de software não é engenharia. "Engenheiro" de software é um termo de self-marketing, tanto da parte de desenvolvedores, quanto de empresas que querem dizer ter "engenheiros" pra passar uma imagem de seriedade.
Eu francamente acho o uso do termo uma imaturidade anacrônica de um tempo em que programador era uma profissão de menor status (e que pode muito bem voltar a ser).
"Engenharia de software" é um termo criado por analogia, similar à "arquitetura" de um computador. Não é engenharia, a não ser que esteja ligada a projetos de engenharia (e.g. tem requisitos "duros" de confiabilidade, trata-se de firmware pra um projeto de hardware, etc.)
E não, eu não sou da área de engenharia, sou da ciência da computação mesmo.
Acho que a raíz é mais embaixo, Engenharia de Software é algo mais abrangente, um programador comum não é um engenheiro de software, apesar que pode ser um a depender da pluralidade em que trabalha, algo que praticamente só acontece no "hobbismo" e no freelancer, engenharia de software envolve projetar e implantar toda uma solução baseada em técnicas e metodologias concordadas pelos envolvidos (Mais uma vez pluralidade). Debatendo seu último ponto, é sim Engenharia a partir do momento que você especifica todo um design (...) de um produto baseado em alguma metodologia, padrão e técnica aceita e comprovada ou algum novo modelo de criação e produção. Receber uma demanda, não refletir e debater sobre isso baseado em alguma técnica ou metodologia e ir fazer isso:
const showName = (name) => {
console.log(`Hi, ${name}!`);
}
Isso SIM! NÃO é Engenharia!