O programador e o cientista da computação

Tive uma conversa com um amigo e ele me disse a seguinte frase:

“Eu por muito tempo fiquei focado só em saber fazer o que é mainstream no mercado, mas tô começando a sentir falta de uma boa base científica, entende?”

Entendo. Hoje em dia o mundo está diferente, saber utilizar as ferramentas do mercado é excelente, mas talvez isso não seja o bastante para alcançar o topo.

Termos como: aprendizado de máquina, sistemas de recomendação, data science e programação cognitiva não são mais restritos à academia, o mercado também precisa disso.

Tarefas como estas e as vezes até a própria criação de um bom algoritmo tornam-se complicadas de serem realizadas com sucesso sem ter algum nível de background científico.

Mas então vamos esquecer completamente as ferramentas existentes no mercado e vamos reinventar tudo! - Definitivamente, não.

O principal problema que vejo hoje é a polarização destes dois tipos de profissionais.

Vejo bons programadores que não conseguem criar construtos ou abstrações significativas. - Vício inato a quem sempre consumiu tudo prontinho.

E por outro lado, também vejo bons cientistas da computação lidando com algoritmos complexos, mas que não conseguem criar um produto de mercado real.

Mas qual é o melhor perfil?

Como sempre, a resposta é depende.

Há espaço para os dois perfis, por enquanto.

O futuro do mercado

O problema disso é que cada vez mais, o mercado precisa de um perfil cinza, sem preto no branco.

Não é difícil imaginar que as coisas vão mudar em um futuro não tão distante. Não, antes disso. As coisas mudam o tempo todo, inclusive agora.

A programação cognitiva já está presente em diversos produtos. E um profissional qualificado que atua no ramo de tecnologia precisa saber lidar com isso.

Um terceiro perfil já existe no mercado, como eu disse antes, um perfil cinza. Um profissional que possui um bom background científico, mas que atua e fica antenado com o que acontece no mercado.

Depois de identificar este problema fiz algumas pesquisas e fiquei surpreso com algumas descrições sobre as diferenças entre um cientista da computação e um programador. Não é difícil encontrar descrições como esta:

Os cientistas da computação escrevem código… Não é o código mais organizado ou bem refatorado, mas um código que funciona e resolve o problema.

COMO ASSIM?

Sim, temos que fazer as coisas organizadas, limpas e de fácil manutenção. Há uma falsa correlação gigante nisso. Não se escreve código desorganizado ou de baixa performance por ser um cientista, escreve-se código assim por ser desleixado.

Adaptando-se ao novo cenário

Como profissionais da área de tecnologia precisamos nos adaptar aos novos desafios, precisa-se perder alguns medos: matemática, complexidade de algoritmos, inteligência artificial, autômatos e muitas outras coisas.

Faça destes medos seus aliados.

Esta é uma ótima maneira de destacar-se no mercado de trabalho hoje.

Como professor do curso de ciência da computação, estou tentando fazer a minha parte com meus alunos. Cobrando artigos científicos, exercitando o pensamento científico e ao mesmo tempo tendo aulas discutindo os motivos de um código ser ou não mais eficiente, ou mais organizado que outro.

O que você acha disso?

Me conte nos comentários!

E Até mais!

Sempre vale lembrar que as informações e textos aqui no blog representam minha opinião pessoal, o que pode não ser igual à sua ou de qualquer outra pessoa, incluindo a empresa para qual eu trabalho. Portanto as publicações inseridas aqui estão relacionadas somente a mim.

Assine a Newsletter