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!