ChatGPT: já estou usando há duas semanas no trabalho! Vou te contar tudo...
Fala galera, blz?!
Fredes aqui, eu sou desenvolvedor especialista em Front End, e eu estou usando o chat GPT à duas semanas como meu ajudante pessoal no trabalho. E já posso adiantar que o burburinho em cima dessa tecnologia não é atoa. Eu (e o mundo) fiquei impressionado com as muitas possibilidades de aplicação da IA, e acredito que todas as áreas de negócios podem se beneficiar em algum grau desses novos poderes que ganhamos.
Por isso, eu separei alguns cenários em que eu usei o chat GPT para me ajudar em tarefas do dia a dia. Note que eu separei cenários bem diferentes e que representam uma gama de aplicações gerais: Escrever código, documentar, criar estratégias para o negócios e criar conteúdo “criativo”.
Criativo, pois até hoje, um ser humano precisa despender energia nessa tarefa, ao qual coloca as suas impressões pessoais, levando em consideração o seu contexto individual e único de vida. Ou seja, duas pessoas não vão chegar ao exato mesmo resultado.
Mas chega de papinho e vamos ao que interessa. Abaixo seguem os cenários gerais com os exemplos de aplicações práticas aos quais testei. Lembrando, que eu vou dar as minhas impressões pessoais (e também “criativas”) sobre o assunto :P
Se você quiser assistir ao vídeo, onde eu mostro na prática o que eu abordei aqui, acessa o link:

https://youtu.be/-6BQDj37X1M
Cenários
- Programação geral: Converter um componente do React de classe para função (usando os hooks)
- Documentação: Documentar um componente de Botão no Storybook
- Negócio: Listar opções, em uma reunião, de KR (eu explico o que é) a partir de um contexto bem definido.
- Criatividade: Roteirizar um vídeo no meu canal sobre o futuro dos programadores com a popularização das IAs
Converter um componente do React de classe para função
Para dar um contexto mais preciso, o componente a ser refatorado estava dentro de um projeto legado. Além das várias más práticas, vários importes e métodos não utilizados, é comum nesse projeto ter manipulação direta de DOM, sem testes de unidade e integração. Quem mistura em um projeto jquery, lodash e react? isso devia ser proibido, hehe.
Então, passar o componente para uma versão funcional era só uma parte do trabalho. Fora ter que entender todas as responsabilidade do componente em si. Como eu teria feito o trabalho sem a ajuda da IA e no mundo ideal:
- Faria uma limpeza geral: remover importes e métodos não usados.
- Escolheria nomes melhores para variáveis e métodos.
- Faria alguns testes automatizados.
- No JSX, eu quebraria o possível em componentes menores.
- Passaria a classe para funcional: removendo os this.props, aplicando o useState e o useEffect.
- Removeria a manipulação de DOM direta usando o useRef.
- Faria mais uma repassada geral para tentar enxergar oportunidades de extração de funções para fora do componente.
- Faria mais testes de unidade e/ou integração.
E o meu dia terminou…, mas não foi assim. Eu colei o código no chat GPT com a seguinte frase: “Como esse código ficaria numa versão funcional do React?”
E após alguns minutos eu tinha uma versão funcional do código do componente sem bugs e com as melhores práticas de codificação! MENTIRA! Seria lindo, mas não foi bem assim. Alguns ajustes na forma como a pergunta foi feita foram necessários, mas eu diria que 60% do código gerado foi aproveitado. Como experiência foi legal, mas não indico ainda para códigos com muitas linhas:
- A resposta demora para ser apresentada, tem um efeito de digitação que toma um tempo considerável para mostrar tudo. Isso quebra um pouco a dinâmica de interação, mas acredito que isso seja uma estratégia para limitar a quantidade de requestes feitos para API.
- Tentativa e erro. Tem que saber como perguntar, se não a IA não vai chegar na solução que você espera. Isso eu fui aprendendo com o tempo. Com a demora na resposta, se tivesse ao menos um “stop word”, para cancelar a “digitação”, ajudaria, pois às vezes já dá pra perceber que a resposta não vai chegar no resultado esperado.
- A API tem um limite de caracteres para retornar um texto, ou seja, a resposta vem pela metade. Na maioria das vezes é só pedir para “continuar”, no entanto dois possíveis erros podem aparecer: A IA não consegue continuar e te entrega a mesma resposta de antes ou o segundo trecho fica desconexo do segundo.
- Se você já tomou um caminho torno para fazer as perguntas, é melhor recomeçar a conversa em outra aba/seção (não sei como chamar isso). Aconselho isso, pois o chat leva em consideração o contexto da conversa e começar de novo pode acelerar o processo de chegar no caminho certo.
- Códigos pequenos dão mais certo. Pequenas correções e refatorações vão sair suaves!
Depois de ter feito o trabalho eu analisei se valeria continuar aproveitando a ajuda do chat GPT para outras escritas de código. Levando em consideração o tempo e confiabilidade, eu diria que para códigos complexos demais não vale apena. Para helpers e outras pequenas soluções, eu acho que pode ajudar bastante. Ainda é um começo, então nos próximos capítulos eu acredito que a IA vai começar a fazer melhor esse trabalho. Pois agora acabou me gerando bastante retrabalho de revisão, correções e testes.
Documentar um componente no Storybook
Um dos trabalhos que eu menos gosto de fazer é documentação, isso não significa que eu não faça bem feito, hehe. Mas eu sempre tento me livrar disso ou automatizar ao máximo o processo. Logo, eu não pensei duas vezes: chat GPT chegou a hora de você brilhar! Eu criei um padrão de como eu gostaria que a documentação ficasse e separei em pedaços menores as perguntas. Fiz isso, pois eu já tinha aprendido que requisições que resultem em respostas de muitas linhas tendem a aumentar a probabilidade de inconsistências.
Primeiro forneci o código do componente e solicitei que a documentação do argsType (é a parte que documenta as propriedades do componente) fosse gerada seguindo o padrão que eu escrevi. O padrão era assim:
export const argTypes = {
size: {
description: "Sets the size of the button.",
control: {
type: "inline-radio",
options: ["small", "medium", "large"],
},
defaultValue: "medium",
type: {
name: "string",
required: false,
},
table: {
category: "Appearance",
},
},
};
O resultado me surpreendeu positivamente, em poucos minutos eu tinha a documentação completa das propriedade e não tive retrabalho algum! Me empolguei e pedi para gerar a documentação das histórias, levando em consideração um modelo que eu escrevi. Bingo! Funcionou muito bem, lógico que eu vou ter que fazer alguns ajustes, como por exemplo, agrupar algumas histórias.
Por último, o meu componente teve alguns ajustes e recebeu novas propriedades. Eu pedi uma atualização da documentação gerada e fui tomar um café. Quando voltei, o trabalho estava pronto e eu escrevi com a ajuda do chat GPT a documentação mais detalhada de todos os componentes listados no design system.
Ainda quero fazer uma simulação para gerar testes de unidade. E vou fazer sugerindo um exemplo de modelo a ser seguido, pois percebi que isso ajuda muito no resultado final. Esse é um trabalho bastante repetitivo, então foi natural que também fosse um exemplo mais bem sucedido que o anterior. Como opinião final e digo que você deve usar/testar a IA para te ajudar nisso e você já vai colher os benefícios hoje mesmo!
Criar KRs para o time a partir de Objetivos
Se você não sabe o que são KRs, eu vou te explicar em poucas palavras o que é: Key Result (KRs) fornecem indicadores usados para medir o quanto um objetivo está próximo de ser alcançado. Como a ideia não é entrar muito nesse detalhe, tenha em mente que é uma metodologia que permeia uma área mais estratégica e/ou tática de um time. E o que eu fiz? Bem, eu perguntei ao chat GPT quais o Key Results poderiam ser enunciados a partir de um objetivo x dentro do contexto y. E a IA forneceu algumas boas opções. Por se tratarem de metas conjuntas, eu apenas coloquei dentro da reunião algumas que eu julguei fazerem sentido para o contexto.
Note a palavra que eu usei: “julguei”. Acho que isso vale para todos os outros contextos, qualquer IA atual é uma ferramenta, cabe a você julgar, analisar e filtrar aquilo que faz sentido.
Roteirizar um vídeo no meu canal sobre o futuro dos programadores com a popularização das IAs
Depois te todos esses testes dá para perceber que eu estava muito deslumbrado com todas as possibilidades. Então eu resolvi fazer um vídeo no meu canal sobre o futuro da programação. Então eu pedi para o chat GPT listar os tópicos sobre o assunto e veja o que ele sugeriu:
🤖 Aqui estão algumas sugestões…
- Como as ferramentas de IA atualmente disponíveis podem aumentar a produtividade e qualidade do código dos programadores.
- O que podemos esperar das ferramentas de IA no futuro, incluindo a possibilidade de gerar código de forma mais precisa e eficiente, auxiliar na resolução de problemas de código e melhorar a documentação do código.
- Como a IA poderá ser usada para acelerar o processo de desenvolvimento de software, incluindo a criação de protótipos rápidos.
- Como um programador iniciante deve agir em frente à mudança de cenário trazida pelo uso de ferramentas de IA na programação.
- Considerações a serem levadas em conta ao usar ferramentas de IA, incluindo a importância de manter conhecimentos profundos da linguagem de programação e das técnicas de codificação.
- Barreiras à adoção de ferramentas de IA pelos programadores e como elas podem ser superadas.
- O impacto da IA na demanda por programadores e como os profissionais de TI podem se preparar para o futuro.
Eu pedi para incluir mais um tópico a mais, que é o 4 desta lista, e pedi para ele colocar em uma ordem que fizesse mais sentido. Depois eu pedi um parágrafo para cada tópico e compilei tudo em um arquivo de texto. Por último, eu queria que esse roteiro do youtube tivesse um bom título, boas tags e ainda uma sugestão de títulos mais “click-bait” para colocar na capa do vídeo. Olha o que ele sugeriu:
🤖 Resposta do chat GPT para títulos:
- Como as ferramentas de IA estão mudando a programação"
- "O futuro da programação: como a IA está transformando o trabalho dos programadores"
- "O impacto da IA nas carreiras de programação: o que você precisa saber"
- "O papel da IA na criação de software: o que esperar no futuro"
- "Ferramentas de IA na programação: o que já está disponível e o que está por vir"
🤖 Resposta do chat GPT para títulos mais “click-bait”:
- "A IA está tomando o lugar dos programadores? Veja o que acontecerá no futuro"
- "Programação no futuro: o que acontecerá quando a IA se tornar uma realidade?"
- "Será que a IA vai acabar com as carreiras de programação? Descubra aqui"
- "O fim da programação como a conhecemos: o que a IA pode fazer pelo seu trabalho"
- "Quer ficar à frente da concorrência? Descubra como a IA pode ajudar na programação no futuro"
Incrível né? Eu não usei tudo 100% tal como a IA me sugeriu, dei o meu toque em cima. Mas isso me ajudou muito a organizar o conteúdo. Se você ficou curioso e quiser ver o resultado desse vídeo, segue o link: https://youtu.be/HpjDRMGz_hY
Palavras finais
Eu não sei você, mas eu já aceitei que esse futuro já começou. Então eu sugiro fortemente duas coisas coisas: (1) não esqueça de que a IA é uma ferramenta e que você precisa estudar e conhecer profundamente os fundamentos da programação; e (2) uma das habilidades mais importantes da nossa história humana é a adaptação, então desenvolva ela como programador e esteja de mente aberta para não ser pego de surpresa.
Acredito que a negação possa ser uma armadilha para quem não quer aceitar esse futuro. Fique de olho em tudo o que está surgindo. Já ouvi falar que o GPT4 vai fazer o GPT3 parecer uma piada, então bora sair na frente e encarar toda essa mudança com a maturidade que a sua carreira merece.
Me despeço de vocês com uma última frase enunciada por um tal de George Bernard Shaw:
“Aqueles que não conseguem mudar as suas mentes não conseguem mudar nada.”
Fonte: https://youtu.be/-6BQDj37X1M