Article image
Raissa Kuzer
Raissa Kuzer27/02/2023 23:14
Compartilhe

ChatGPT, plágio, e desafios de código: feito é melhor que perfeito

  • #JavaScript
  • #Python
  • #Java

Ato I: Toda empresa é uma empresa de tecnologia

O mundo está cada vez mais rápido e conectado, e é praticamente impossível para uma empresa crescer no mercado sem usar tecnologia. Controle de caixa, acompanhamento de suprimentos, comunicação interna e externa, gestão de RH, tudo isso depende de sistemas informatizados.

Pense em alguma marca um pouco maior, e imagine o tamanho da estrutura tecnológica para sustentá-la. Considere a necessidade de manter ativos e seguros website, loja virtual, banco de dados de clientes, atendimento online - e tudo isso escalando conforme a marca cresce.

Black Friday deixando tudo fora do ar? Inaceitável. Um escritório de arquitetura ou advocacia que faz tudo no papel? Impossível.

“Hoje em dia, praticamente toda empresa é uma empresa de tecnologia.”

Logo se vê que, apesar de flutuações de mercado causadas por inúmeros fatores, a demanda por profissionais da área de tecnologia só tende a crescer…

…e, com ela, a quantidade de pessoas tentando entrar no mercado.

Como avaliar tantos candidatos? Como separar aqueles que vão conseguir entregar resultados - ainda que depois de um período de treinamento e adaptação - daqueles que conseguiram impressionar o RH com uso de termos técnicos e chavões?

Ato II: O papagaio é mais inteligente

Imagine uma pessoa que mantém um papagaio como animal de estimação. Buscando interação com seu tutor, o papagaio imita o som de frases e palavras. Algumas palavras são ignoradas, outras são recompensadas com guloseimas, carinho ou riso, e no fim não há dúvida de quais serão as palavras que o animal aprenderá a falar perfeitamente. Imitar, pra falar a verdade.

Imitar, como um modelo de linguagem imita a formação de frases humanas baseado em input e depois feedback de moderadores e usuários, talvez?

Não, o papagaio é mais inteligente. Papagaios são animais surpreendentemente inteligentes, que conseguem aprender com humanos ou outros animais. São capazes de interação social, travessuras, brincadeiras, e carinho. O papagaio dessa história não reage apenas aos afagos e guloseimas do dono, mas também pode aprender a agir de modo diferente para alegrá-lo ou acalmá-lo. Pode aprender também a se expressar para obter algo que queira, como água ou uma televisão ligada num canal específico.

Papagaios são seres orgânicos de inteligência natural e muito mais inteligentes que modelos de linguagem como o ChatGPT.

E você é muito mais inteligente que um papagaio.

Ato III: Pode copiar, só não copia igual

Aposto que já falou algo como isso, ou algum colega já falou pra você. Não tem problema, aqui somos honestos.

Parte da trajetória escolar, se você parar bem pra refletir, não depende do conteúdo ficar mais “difícil” e sim das perguntas dependerem mais de você. É aqui que mora a diferença entre “2 + 2 = 4”, e “calcule a diferença da distância percorrida entre os dois carros”, ou a diferença entre “qual é o nome do personagem principal?” e “podemos acreditar em um narrador em primeira pessoa?”.

É essa evolução de raciocínio e independência que importa, ainda que seja necessária uma nota mínima na matéria pra passar de ano. Essa evolução não é fácil, especialmente quando esperada de estudantes tão jovens e sem experiência de vida que os permita traçar paralelos entre o conteúdo e a realidade. Essa necessidade de evolução faz cada série escolar ou semestre na universidade parecer mais difícil.

Por isso já há tanto tempo o ambiente acadêmico se importe com plágio, e algumas instituições já adotem há anos programas de detecção de cópia ou plágio. Uma coisa é utilizar fontes para basear sua pesquisa ou fala, outra é “copiar, só não copiar igual”: aquela permite que você cresça e expanda seus horizontes, enquanto esta mantém você refém dos outros.

Nem mesmo o papagaio se limita a imitar.

Concluímos que tempo é dinheiro

Vamos trazer de volta a questão das empresas precisarem filtrar seus candidatos, e como isso é custoso ou complicado.

Opção 1: Basear contratação em análise de currículo.

Certo, mas todos nós temos ciência de que você pode ter quatrocentos cursos e não saber de nada, ou saber muito sem ter um certificado para mostrar. As chances de uma contratação “alarme falso” são altas. No fim, além de todas as custas relacionadas à contratação e demissão de um funcionário, existirão também outros fatores como lentidão no desenvolvimento ou manutenção de um projeto por falta de mão de obra, necessidade de ainda mais tempo para encontrar um candidato, e também o risco de profissionais dentro da empresa sentirem-se sobrecarregados e pedirem demissão - uma verdadeira bola de neve. Fácil concluir que, na área de tecnologia, basear contratação em análise de currículo não dá certo.

Opção 2: O processo seletivo será guiado por profissionais de tecnologia do time que receberá o novo contratado, e que têm conhecimento das tecnologias utilizadas.

Parece ideal, ser avaliado exclusivamente por gente que também vai lidar com o mesmo que você. Gente que não necessariamente tem conhecimentos de como guiar uma entrevista ou avaliar um candidato, gente que não foi contratado pra ser entrevistador, gente que tem muita coisa pra fazer e não tem como entregar tudo e ainda entrevistar um tanto de candidato, gente que vai ficar cada vez mais frustrada ou sobrecarregada e com mais chance de pedir demissão… Uma coisa são 15-30 minutos com candidatos pré-selecionados, em etapas finais, pra dar aquele último pente fino… outra coisa é eu ser contratada como programadora e mais entrevistar do que tocar em código! Ah, pera aí. Talvez não seja uma boa ideia.

Opção 3: Um desafio-teste onde você tem que criar uma funcionalidade (ou parte dela) de acordo com especificações

Aqui já não é tão ruim! É menos pressão do que ter que fazer ao vivo e a cores, e você pode utilizar pesquisas como faria na vida real. Bem mais legal…

…a não ser quando a empresa pede pra você montar um projeto inteiro, tomando horas e horas do seu tempo para no fim nem enviarem um e-mail de rejeição. Horas e horas que você poderia estar estudando, descansando, ou mesmo fazendo outras entrevistas.

Além do mais, quem vai analisar seu código? Aqui enveredamos novamente pelo caminho que toma tempo excessivo dos profissionais de tecnologia da empresa, que passarão horas e horas analisando o código de muitos candidatos. Com sorte terão algum “gabarito”, que também deverão criar, e conseguirão manter consistência nas avaliações pois não ficarão cansados ou estafados… certo? É, acho que não.

Opção 4: Contratar uma plataforma especializada em cuidar dos desafios de código para filtragem inicial de candidatos

Existem várias plataformas - HackerRank, Codility, etc. - nas quais a empresa pode usar questões pré-formuladas ou mesmo inserir as próprias para montar um teste online.

Só não se empolgue achando que será suficiente trocar de janela para perguntar ao ChatGPT: normalmente os movimentos do seu mouse serão gravados e podem ser analisados pelos entrevistadores, que poderão assistir o vídeo inteiro para ver sua velocidade de digitação ou ritmo de desenvolvimento do problema. Também costuma ser contabilizada a quantidade de vezes que você trocou de janela, e mostrado se ou o que você colou no editor de código do teste. Isso quando você não precisa compartilhar a imagem da própria webcam durante o teste, para verem que você é você e que não estava usando o celular ou outro computador durante a prova.

Você só passa pra próxima etapa se a inteligência artificial analisar seu código, sua porcentagem de plágio, e julgar que passou.

É bastante pressão em cima do candidato, mas já se torna uma opção melhor pra empresa.

E tempo é dinheiro.

Concluímos, parte II, o Retorno

“O seu código falhou em dois dos testes ocultos, você se importa de dar uma segunda olhada e ver se consegue identificar o que ficou faltando?”

Essa foi uma das perguntas de uma entrevista, guiada por desenvolvedores da empresa, após eu passar pela segunda etapa do processo seletivo - o teste online, que veio depois da entrevista com a recrutadora interna.

Essa análise do código que eu entreguei foi no formato de conversa. Eu pude falar sobre como cheguei àquele resultado, sobre possibilidades de otimização, e até mesmo pedir dicas de como poderia melhor organizar para cobrir os dois testes que faltaram. Eu consegui cobrir mais um dos testes, mas não resolvi o último. Também não tinha mais tempo para a análise, foi uma conversa curta de cerca de 20 minutos que mais pareceram uma eternidade.

"Gostamos muito de como você demonstrou sua linha de raciocínio e organizou seu pensamento. Alguns candidatos chegam a passar em todos os testes do desafio, mas não conseguem explicar o que fizeram."

Olha, é óbvio que não faltam respostas na internet. Google, StackOverflow, Reddit, as próprias seções de respostas do LeetCode: tudo isso estava disponível quando ChatGPT ainda era mato.

Só que do que adianta copiar, sem entender? Como entender e não conseguir explicar? Como criar na sua cabeça todo um caminho para a solução, e não saber falar disso para o recrutador? Como planejar a solução com todas as ferramentas das quais dispõe mentalmente, e não conseguir traduzir em código?

É isso que será avaliado, e isso o ChatGPT não poderia fazer por você mesmo que fosse conhecido por criar trechos de código perfeito e sem erros - o que está bem longe da verdade.

Não tema o robozinho, mas também não dependa dele. Use-o pra ajudar a se preparar, como um apoio na sua jornada se quiser, e tenha em mente que os processos seletivos também usarão robôs para avaliá-lo.

E está tudo bem.

Mesmo errando na implementação, você é ainda mais inteligente que um papagaio que é mais inteligente que um modelo de linguagem.

Feito é melhor do que perfeito.

#DesafioDIO

Sobre o tema ChatGPT, leia também:

Compartilhe
Comentários (8)
Tennison Capra
Tennison Capra - 28/02/2023 21:46

Obrigado, Raissa!

Está cada vez mais difícil encontrar artigos originais aqui na DIO. E eu tive a grande sorte de esbarrar nesta jóia.

"Please, sir, I want some more"

Luis Zancanela
Luis Zancanela - 28/02/2023 12:16

Muito bom o artigo, o questionamento "do que adianta copiar, sem entender?" realmente é importante, ainda mais agora que temos o ChatGPT que gera respostas prontas, as pessoas podem se perder na facilidade e criar barreiras para o próprio desenvolvimento.

Tito Faria
Tito Faria - 28/02/2023 11:03

Parabéns. Esse artigo ficou muito bom.

Luiz Café
Luiz Café - 28/02/2023 09:16

Seu artigo é sensacional, parabéns! Levantou pontos importantíssimos sobre diversos temas e ainda conectou uma ideia a outra com excelentes argumentos.

De fato não devemos temer os avanços tecnológicos, pois, se usados da maneira correta, poderemos colher bons frutos.

Porém, não podemos depender deles para realizar nossas atividades, devemos sempre desenvolver nosso raciocínio e inteligência para resolver problemas.

Fernando Araujo
Fernando Araujo - 28/02/2023 10:55

Ótimo artigo!!

Muito relevante, coerente e bem escrito, todo amarradinho, como uma redação nota 10 do ENEM!!

Eu ri da comparação entre o papagaio e o ChatGPT! (LOL)

É como diz o ditado: "O papagaio diz o que sabe, mas não sabe o que diz!"

Parodiando: "O ChatGPT escreve o que sabe, mas não sabe o que escreve!"

:-)

RK

Rodrigo Kurtz - 28/02/2023 02:02

Olá Raissa,


Estava estudando de madrugada aqui da DIO e resolvi ler algumas publicações da comunidade para dar uma espairecida entre os módulos, ação que tenho adotado ultimamente...

E para minha grata surpresa me deparei com o seu texto (claro, coerente, profundo e relevante). Fiquei tão curioso que fui ver outros textos seus.

Óbvio que li e adorei os outros 2 também. Passei a te seguir...kkk.

E olha que sou bem seletivo com quem estou começando a seguir.


Um problema gerado pela "gameficação" é a quantidade de artigos publicados que nitidamente foram algum "ctrl c+ctrl v" da internet, ou frases soltas sem profundidade, visando somente conseguir alguma pontuação no ranking. Isso estava tornando meu momento de relaxamento, mas adquirindo novos conhecimentos com artigos da comunidade DIO, um tanto quanto difícil.


Mais uma vez obrigado por poder beber do seu raciocínio lógico, em tópicos claros, e com sugestões de novas leituras que farei questão de acessar depois


E caso você tenha sugestões de outros "alunos", dos 94 que você está seguindo aqui na DIO, que tenham a mesma pegada que você, pode listar alguns para me ajudar na tarefa de filtrar os artigos relevantes...kkk


Um grande abraço!


De RK para RK

Raissa Kuzer
Raissa Kuzer - 27/02/2023 23:58

Corretíssimo, Stefano.

É verdade que, especialmente pra conseguir aquela primeira vaga, às vezes a gente encara situações que não nos fazem bem e onde o nosso valor não é reconhecido ou valorizado. Quase como um primeiro namoro adolescente, que pelo menos serve de lição.

Empresas humanas existem, mesmo que não as gigantes que muitos almejam, e também existem ambientes onde podemos crescer e florescer. Um brinde à nossa humanidade!

Stefano Nascimento
Stefano Nascimento - 27/02/2023 23:53

Muito bom todos os pontos levantados. Me fez refletir sobre muitos coisas que precisam evoluir dentro da empresa que trabalho. Lá não possui programação e eu atuo como analista de TI. Porém estou me dedicando aos estudos para migrar de área. E realmente minha maior preocupação é de ser avaliado como um robô e não como ser humano capaz de enfrentar desafios, evoluir com a prática e conquistar resultados.

ChatGPT é apenas criatura...Nunca será capaz de superar o criador (Ser Humano) , assim como o homem não é capaz de superar a Deus ( Seu criador).


#FeitoÉmelhorDoQuePerfeito