O papel de um engenheiro de software não necessariamente exige um diploma de Ciências da Computação. Entretanto, desde que o executivo chefe do Yahoo, Scott Thompson, deixou o cargo recentemente, devido a um falso diploma de faculdade de Ciências da Computação, a necessidade de um diploma universitário vem sendo discutida. Por exemplo, em seu artigo para o Dr. Dobb's intitulado "Todos engenheiros de software!", Andrew Binstock discute se engenheiros de software realmente precisam de um diploma em Ciências da Computação para executar um trabalho excelente.
De acordo com Andrew Binstock:
"Engenheiro de Software" é o mais recente termo que sofre com a peculiar desconexão com a realidade. Em gerações anteriores, o título de "Analista" era o termo favorito. Na era do Processamento de Dados de antigamente, o ponto de entrada na carreira técnica era o de "Programador". Quando uma mudança de título era necessária para refletir estabilidade, o programador era promovido para um "Analista/Programador". E depois disso, finalmente, um "Analista". Essa metamorfose poderia implicar que a programação era uma atividade que o funcionário tinha finalmente deixado para trás. Mas na verdade, a maioria dos analistas programava ainda mais do que os programadores juniores. Análise não era uma parte frequente do trabalho, com exceção de algumas posições que precisavam de um analista com função complementar a de um programador.
O artigo faz referências a Mark Zuckerberg e Bill Gates como engenheiros de software que tiveram sucesso sem um diploma de Ciências da Computação. Assim, a conclusão de Andrew Binstock foi:
O uso do termo "equivalente" na exigência de títulos para vagas pela indústria abre muito espaço para os candidatos que demonstram talento em codificação, mas que não possuem uma formação acadêmica. Enfim, todos esses profissionais podem ser considerados engenheiros de software!
Nem todos os leitores que fizeram comentários no artigo concordaram com as conclusões de Andrew Binstock. Por exemplo, o usuário "pjmlp" explica:
Em toda profissão existe um caminho de aprendizado que prova, que a pessoa em questão, possui as habilidades necessárias e é capaz de oferecer certa qualidade em seu trabalho. Minha experiência é que os programadores autodidatas não são capazes de entregar software com a qualidade que a maioria das empresas espera, porque suas habilidades são reduzidas ao que eles foram capazes de aprender no seu tempo livre.
O usuário "RussG" tem um ponto de vista diferente:
Infelizmente, um diploma em Ciências da Computação não necessariamente forma um bom programador. Ciências da Computação e programação de computadores são geralmente assuntos bem diferentes, e a maioria dos formandos parece vir para o mercado com expectativas que funcionam no meio acadêmico, mas não em uma grande equipe construindo aplicações de milhares de linhas de código.
Outro ponto importante de discussão está relacionado aos papéis especificos na engenharia de software, como é o caso do arquiteto de software. Um arquiteto de software que é responsável pela espinha dorsal de um sistema precisa de um diploma de Ciências de Computação ou pode ser um engenheiro de software autodidata? Ou, os engenheiros precisam de formação acadêmica, além de profunda experiência prática? Como Einstein disse uma vez: "Na teoria, teoria e prática são iguais. Na prática, elas não são".