Oi Bixo!! Tudo sim e você?
Cara, obrigado pela ótima contribuição com o conteúdo.
O meu curso na faculdade foi Engenharia de Software. E, um dos primeiros livros que foi recomendado como bibliografia oficial foi justamente o do Pressman.
Vendo suas fotos me lembrei de quando li ele pela primeira vez em 2016 😅 bons tempos.
Essa parte que você comentou sobre focar na modelagem e implementação é algo que vejo sendo comum mesmo.
Foi +/- isso que eu quis mostrar na questão do escopo de um desenvolvedor tradicionao vs um product software engineer. Alguém que aplique engenharia de software para resolver problemas de usuários finais.
Uma coisa que você comentou que eu discordo um pouco é questão das big techs criarem esses termos.
Isso eu acho que foge um pouco da minha percepção da realidade, assumindo que estamos falando das mesmas big techs. Google, Amazon, Microsoft, etc.
Essas empresas contratam, em sua maioria das vezes, generalistas. Pessoas com bons fundamentos da computação, projeto de sistemas e também comunicação. As tecnologias importam menos. O título mais comum é apenas Software Engineer.
Porém, quando você chega em empresas menores, os recursos ($) são mais limitados. Então você precisa de alguém que já faça contribuições com menos tempo de casa. Não é possível esperar 6+ meses até que ela faça um onboarding completo para se tornar produtivo.
Engenharia quer dizer usar princípios de ciência e matemática para resolver problemas reais. Engenharia de software quer dizer usar estes princípios para resolver problemas através de software.
Criar software que não resolvam problemas reais certamente não é engenharia de software de verdade.
E, muitas vezes, a complexidade não vai estar no software. Especialmente em empresas menores.
Mas vai estar em entender quais problemas existem e como eles podem ser resolvidos com software.
Abraços!