[Carreira] De Dev para Engenheiro de Software
Eu estou ligado que isso pode soar muito com o famoso “efeito LinkedIn” e a galera mais tradição fica falando que se não tem CREA não é engenheiro, mas calma lá. Bora ver o que é engenharia primeiro:
Engenharia é: A aplicação do conhecimento científico, econômico, social e prático, com o intuito de inventar, desenhar, construir, manter e melhorar estruturas, máquinas, aparelhos, sistemas, materiais e processos. Wikipédia.
Sistemas já são citados na descrição do Wikipédia, mas se você pensar bem, é exatamente o que um time faz com um produto hoje em dia. Vai ter uma galera falando que Engenheiro de Software faz mais coisas, tipo arquitetar e mexer com uma pá de tecnologias e outros ainda falam que é um mestrão em certas ferramentas ou serviços.
Fato é, desenvolvedor é quem desenvolve, mas e aí, o que faz a empresa ou você mesmo se chamar de engenheiro de software? Conforme a descrição, é aplicar o conhecimento em outras áreas além de só desenvolver, é perder aquela visão de que cada função tem seu quadrado e só trabalhar sob demanda.
É engraçado ver que na realidade, ser um engenheiro de software é mais uma característica pessoal, pois temos dois tipos de devs (e profissionais no geral), os caras que estão lá esperando o PO, ou qualquer outra figura de negócio, aparecer com uma demanda bem descrita e clara para desenvolver e entregar, e tem o cara “praticando engenharia”, que está junto ao stakeholders, discutindo valor e soluções tecnológicas bem além da implementação.
No Brasil, engenharia de software não é algo bem regularizado ainda, mas já conseguimos ver cada vez mais e mais empresas intitulando cargos dessa maneira, pois o que buscam são pessoas com esse perfil de discutir, questionar, entender mais afundo o domínio, buscar implementações de valor, discutir quais ferramentas ou serviços usar, conhecer prós e contras de cada um, ser mais assertivo nas decisões e realizar os melhores trade-off para o aquele negócio/produto.
Então, você é aquele cara que fica esperando as demandas caírem no colo? Que implementa, seja lá o que for, usando sempre a mesma linguagem/framework porque é o que tu manja (clubista!)? Que utiliza aquele serviço de mensageria só porque já trabalhou com ele antes? Que quer colocar tudo na Cloud X só porque lá você sabe como levantar uns servidores? Fica a reflexão.