great developers, i am the coder

Atenção programadores que buscam soluções no Google

Bruno Carneiro

Bruno Carneiro

Um das minhas funções como CTO é selecionar e contratar bons desenvolvedores para a Zapt Tech. O principal requisito que busco é que o candidato seja proficiente em programação. Vale qualquer linguagem, a que o candidato se sentir mais confortável. Mas, é muito importante que saiba resolver problemas e que tenha um pensamento lógico e computacional bem sólido.

A breve história de um candidato

Em uma das entrevistas que fiz recentemente conversei com um garoto que estava formando no curso de Ciência de Computação. Pedi para ele fazer um programa que resolvesse um problema simples. Aí começou o nosso diálogo:

Candidato: “Posso procurar a solução no Google?”.

Eu: “Estou aqui para medir suas habilidades de desenvolvedor. Gostaria que você programasse sem consultar ao Google. Se tiver alguma dúvida técnica pode me perguntar ou assumir a existência de alguma função…”

Candidato: “Mas é assim que eu trabalho. Busco no Google o tempo inteiro…”

Eu: “Me diz primeiro como você pretende solucionar o problema? Chegou a pensar como será a função que resolverá o problema?”

Candidato: “Pensei em buscar no Google a solução. Não quero reinventar a roda.”

Eu: “Ok, então. Acho improvável você achar exatamente a solução para esse problema no Google. Mas pode consultá-lo sim…”

E aí então ele buscou no Google por uns 5 minutos e colou exatamente um código encontrado provavelmente no StackOverflow. E, nosso diálogo recomeçou:

Eu: “O que esse código faz?”

Candidato: “Resolve o problema que você passou.”

Claramente eu percebi que o código que ele havia copiado e colado não resolvia exatamente o problema que tinha passado. Então, como ele ainda não tinha desenvolvido nada resolvi pelo menos checar se ele sabia ler, entender e adaptar o código para o propósito solicitado (isso faz parte do trabalho de um desenvolvedor).

Eu: “Bem… na verdade não resolve. Os parâmetros de entrada e saída estão em formatos diferentes e ainda não trata o caso X. Consegue adaptar esse código?”

Candidato: “Consigo. Vou procurar outra solução no Google.”

Eu: “O tempo da nossa entrevista está esgotando. Uma nova consulta vai demorar….”

Candidato: “É dessa forma que trabalho. Essa é minha solução”

Moral da história

Infelizmente, o candidato não passou da primeira fase da seleção. A conversa terminou mais ou menos assim:

Eu: “Estou procurando desenvolvedores que criam soluções e usam o Google como ferramenta de apoio para desenvolvê-las. Não somente copiam e colam código. Agradeço muito sua participação!”

Concluindo, não vejo problema nenhum em utilizarmos o Google para nos ajudar a implementar um programa. Não temos que saber todas as bibliotecas e decorar todos os nomes de métodos e classes de terceiros. Inclusive, bons programadores buscam no Google e StackOverflow. Essas são ferramentas importantíssimas para nós desenvolvedores adquirirmos novos conhecimentos e aprendermos com outros que já utilizaram e comprovaram uma tecnologia!

Porém, é essencial que um bom programador seja capaz de pensar em soluções. Ter sólidos conhecimentos em computação como linguagens de programação, estruturas de dados, engenharia e arquitetura de software, redes, banco de dados e etc…. Ainda, sempre é bom desenvolver habilidades para impressionar colegas e o chefe!

Então, na sua carreira invista bastante em entender bem esses conceitos! Guarde o que realmente é importante para um bom desenvolvedor de software e deixe as especificidades de APIs para serem encontradas em buscas no Google! Entenda bem o que está escrito nos artigos que encontrar. Seja capaz de criticá-los e adaptá-los para a necessidade do seu projeto!

Me diga o que você acha desse assunto colocando sua opinião nos comentários! Concorda, compartilhe!

Deixe um comentario