Executando verificação de segurança...
13

Um Humilde Conselho

Família, algo que eu percebi durante meus projetos pessoais (que faço para aprender) é o seguinte: se você é iniciante e realmente quer entender o que está fazendo para, no futuro, não depender de outras pessoas (mesmo que sejam sêniores) para resolver tarefas básicas (não que seja ruim pedir ajuda, mas convenhamos que saber resolver problemas é literalmente o significado de ser dev), eu aconselho fortemente que você não use o ChatGPT. E, se for usar, que seja o mínimo possível – como se ele nem existisse.

O ChatGPT é uma ferramenta incrível para aumentar a produtividade, e esse é o principal propósito dele. Ele pode até te ensinar algumas coisas úteis (pouquíssimas), tirar dúvidas e ajudar em tarefas repetitivas que você já domina, mas o problema é que ele tende a fazer aquilo que você deveria aprender a fazer por conta própria – e, na maioria das vezes, faz isso da forma mais burra possível.

Resumindo: o ChatGPT é excelente para economizar tempo em coisas que você já sabe fazer. Mas, se você está começando e ainda está aprendendo, como pretende usá-lo para resolver problemas que sequer entende? Como você vai ter senso crítico para avaliar se a solução gerada é boa ou ruim? Simples: você não tem esse senso crítico, porque ainda não aprendeu o suficiente para isso.

Então, aqui vai o conselho: não use o ChatGPT se você realmente quer aprender a ser um desenvolvedor de software.

Agora, se você não se importa em ser extremamente dependente de uma ferramenta (que pode errar, e muito) ou tem preguiça de aprender de verdade, continue usando o ChatGPT. Mas, por favor, não reclame depois que o mercado está exigente ou saturado, porque, na verdade, você só não se esforçou para aprender o necessário.

Grave isso para sempre: antes de aprender qualquer coisa, você precisa aprender a aprender. Essa habilidade é a base de tudo.

Por isso, sugiro que você use menos o ChatGPT (ou melhor, não use) e invista em sua independência como desenvolvedor. Vai ser difícil, esquisito, você vai provavelmente se sentir um trouxa e ter uma síndrome de impostor te espreitando, mas, no final, vai valer muito a pena. Eu garanto.

Um abraço, meus amigos devs! Tmj sempre. Tenham todos uma ótima noite!

Carregando publicação patrocinada...
4

Aproveitando, eu também indico para os iniciantes não usarem Copilot ou ferramentas similares para geração de código. Se você não tem domínio sobre o assunto e depender de ferramentas como essa, na verdade está gerando um problemão que vai estourar em breve.

Tenho algumas décadas na área, cheguei a tentar usar ferramentas como essas. Porém é como se tivesse alguém falando ao mesmo tempo que eu em uma conversa, e ainda por cima falando coisas erradas enquanto eu estou falando o que é certo, tentei por alguns dias mas não deu certo para mim.

Também me deparei com projetos de programadores que dependiam muito de Copilot, o código era uma macarronada, cada classe e função tinha um estilo de codificação diferente. Algumas com forte aninhamento, outras usavam e abusavam de early return, funções gigantes com mas de 50 linhas, outras segmentadas em diversas funções menores... Um horror.

Fora a desassociação com as regras de negócio da aplicação, pessoas que adotam em demasia o uso de IA se esquecem que os softwares não são apenas algoritmos, elas devem respeitar as regras de negócio.

3

Eu concordo em partes com sua opiniões sobre o uso do ChatGPT.

De fato, a ferramenta tem algumas limitações, especialmente para quem está começando na área de tecnologia. Falo isso com base na minha experiência de mais de 10 anos na área, o que me permitiu observar alguns pontos importantes:

  • Códigos com erros: Nem sempre o código gerado está correto, o que pode levar a frustrações ou a problemas maiores se o erro não for identificado.
  • Código mal otimizado: Muitas vezes, o código funciona, mas não é a solução mais eficiente ou elegante para o problema.
  • Problemas de segurança: Essa é uma questão séria. Em um caso específico, pedi para o ChatGPT criar um CRUD em PHP, e ele gerou um código com vulnerabilidades de XSS e SQL Injection. O interessante foi que, ao questionar a IA sobre essas falhas, ela confirmou a existência dos problemas e gerou uma nova versão corrigida.

Apesar dessas limitações, o ChatGPT também oferece benefícios significativos, tanto para iniciantes quanto para desenvolvedores experientes, desde que seja usado de forma consciente.

Por exemplo, quando precisei trabalhar com Docker e criar um Dockerfile e um docker-compose.yml, o ChatGPT me ajudou muito. Ele mostrou como fazer e explicou cada parte do processo conforme fui perguntando. Esse tipo de interação é extremamente útil, especialmente porque as informações disponíveis no Google, muitas vezes, estão fragmentadas. Em geral, você encontra um pouco de informação em um lugar, outro pouco em outro, e frequentemente de forma superficial, com exemplos que apenas "fazem funcionar", sem explicar os detalhes por trás da solução.

Portanto, minha recomendação final é a seguinte:

  • Use a documentação oficial: Esse é sempre o melhor lugar para obter informações precisas e detalhadas. No entanto, é importante reconhecer que a documentação oficial pode ser difícil de entender, especialmente para quem está começando.

  • Use o ChatGPT com consciência: Questione as respostas da IA e procure entender cada linha de código fornecida. Caso algo não faça sentido, pergunte novamente. A IA pode esclarecer muitos pontos e refinar suas respostas.

  • Aproveite videoaulas no YouTube: Se mesmo após utilizar a IA você ainda estiver com dúvidas, recorra a videoaulas. A didática humana pode fazer toda a diferença, especialmente em conceitos mais complexos.

  • Use o Google como último recurso: Só recorra ao Google quando não encontrar a resposta em outros lugares. As informações disponíveis são úteis, mas a fragmentação pode dificultar o entendimento e o aprendizado.

No fim, a chave para tirar o máximo proveito de qualquer ferramenta é usá-la de forma crítica e consciente, complementando com outras fontes de aprendizado e sempre buscando entender o que está sendo feito.

1

Acho que temos que saber como usar o IAs, da para ter um equilíbrio, e aprender com elas. Eu no momento to aprendendo Next.js e muitas coisas que eu erro no código eu peço explicação para o chat GPT ou pergunto se ele sabe qual é o erro. ele na maioria das vezes me aponta uma vasta opções de possíveis erros, dependendo da situação que mostro pra ele, e com isso eu aprendo. O ideal, pelo menos pra mim, é uma mescla entre conteudos que já estão disponíveis na internet como documentações e artigo e a geração de conteudo/explicação das inteligencias artificiais.

1

Muito obrigado pelo seu comentário e por compartilhar seu ponto de vista. Você concordou comigo sobre consultar a documentação oficial, mas reforçou que pode ser difícil entender, principalmente para os iniciantes. Então, eu concordo plenamente com você, mas pensa comigo: quem disse que aprender é fácil? É pra ser difícil de entender mesmo, é pra ter dificuldade e criar no desenvolvedor um senso crítico forte o suficiente pra levar ele a buscar a solução nos confins de tudo.

Os iniciantes, que têm uma visão romantizada e heróica da profissão de desenvolvimento de software, precisam entender que tudo se resume a uma caça pela solução de vários problemas, um atrás do outro. Não espero que o iniciante entenda tudo e saiba tudo, isso jamais. Mas espero que ele, NO MÍNIMO, tenha a sede de procurar respostas para as perguntas difíceis. E, melhor: as respostas certas. E eu reforço que o ChatGPT destrói tudo isso, ele te dá uma resposta (como eu disse, na maioria das vezes REDONDAMENTE ERRADA) e tira o seu dever de procurar a resposta CERTA por si mesmo.

Mas não sou radical, sei que o ChatGPT é útil, mas é extremamente raro que ele seja de fato proveitoso (a longo prazo) para iniciantes, visto que ele tende a tirar a essência do desenvolvedor que almeja entrar na área.

Porque aí, depois, o camarada vai numa entrevista técnica, recebe uma pergunta técnica (que exige uma resposta CERTA, não somente uma resposta que FUNCIONE; tem que ser certa e funcionar), e ele simplesmente não sabe o que responder ou responde o que o ChatGPT respondeu erroneamente. Aí, o camarada é reprovado, sai da entrevista revoltado com os céus e a terra, faz um post em alguma rede social xingando o mercado e as empresas de software e, depois, vem a frustração e abandona a área. Tudo porque ele começou com o pé esquerdo.

1

Entendo seu ponto de vista, não sei se concordo mas entendo.

Enfim tenho sorte de ser de outra geração que não tinha isso e tive que estudar de outra forma, porém para coisas novas, que ainda eu não conheço, hoje eu utilizo o GPT ao invés de pesquisar em diversos sites. Só vou para outra fonte se algo fica duvidoso.

Em relação a resolução de problemas tu está completamente certo. Por sorte jogo video game desde que me conheço por gente (vamos colocar 1995 que me lembro), e sempre existiu puzzles nos jogos no qual faz agente raciocinar e encontrar uma solução para um problema (principalmente no caso do brasileiro jogando jogos em ingles ou japones, as coisas iam por dedução mesmo).

Mas no frigir dos ovos temos profisionais ruins e rasos da geração das escrituras, na geração das enciclopédias, na geração do google e agora concerteza teremos na geração da IA.

Na minha concepção vale muito mais a pena ensinarmos como essa geração deve usar essa ferramenta de forma produtiva e que traga um aprendizado para eles, do que dizer "Não USE" ou "Evite Usar"

Mas é meu ponto de vista, não sou pedagogo para ter uma resposta cientifica, é apenas achometro baseado na minha realida.

De qualquer forma jovens estudantes, fica minha mensagem: "Independente da forma que irá estudar se aprofunde em sua pergunta, não aceite respostas simples, procure compreender TODO O FUNCIONAMENTO DAS COISAS. Isso serve para vida.

1

Agradeço novamente por enriquecer este post com suas palavras. Sinceramente, não discordo de nada do que você disse. Reitero o que mencionei anteriormente e, de maneira totalmente pessoal (não como uma regra, de forma alguma), não recomendaria que um iniciante absoluto, começando do zero, utilizasse o ChatGPT.

Provavelmente, eu sugeriria que o iniciante usasse o ChatGPT como a última fonte de informações, e que se concentrasse mais em sua própria experiência na resolução dos problemas.

Mais uma vez, reforço que concordo com você.

E também queria deixar uma breve mensagem para qualquer iniciante que esteja lendo isto: se o ChatGPT não existisse, o que você seria capaz de fazer completamente sozinho? "Mas é impossível que o ChatGPT não exista!" – Ignoremos a questão do que é possível ou não; apenas imagine e reflita sobre sua capacidade sem depender dessa ferramenta.

A resposta que o iniciante der a si mesmo será suficiente para mostrar qual caminho seguir a partir daí. Sem dúvidas.

2

Vim jogar um pouco de sal nessa discussão.

Muita gente está aconselhando os jovens a não utilizar a IA, disconcordo parcialmente.

Ninguém precisa saber como faz o cimento para construir casa.
Nós estamos passando pela industrialização do software, a primeira etapa foi a "fordzação" de linha de montagem, agora estão chegando os robôs para substituir os operários da linha de montagem.
Deixaram de existir operários na linha de montagem automobilística? Sim, em grande parte, os que sobraram foram os muito mal pagos, os muito específicos (podemos colocar o baixo nível e pontos de alto risco) e a massa maior mudou para operadores de robôs.

O jovem, precisa aprender a tirar cada gota da IA e/ou aprender a criar datasets de treinamento de IA e como treinar IAs.
Apenas o jovem que quer entrar de cabeça no baixo nível, precisa seguir o caminho doloroso do bloco de notas, pois assim como hoje em dia, a parcela de programadores que executam tarefas em aplicações de estado da arte ou baixo nível é efêmera, a maior parte do trabalho é criar CRUDs, interfaces e modelagem.

"Ahh mas o código é ruim", o código é ruim porque você não sabe pilotar, se vc tiver no mínimo 3 iterações humano+máquina sobre o código o resultado em grande parte das vezes já é aceitável. Se você tiver mais de um agente especialista então, passa de aceitável para código bom.

"Ahh mas coisas muito específicas ele não consegue gerar", ótimo, esse código do capiroto vai ser o nível que você vai começar a ter que entender, vai ter que ler reler, perguntar à IA o motivo, pesquisar, etc. Infelizmente, ninguém precisa mais fazer coisa simples, o simples está pronto.

Não sejamos hipócritas, no passado estavamos resolvendo como resolver problemas da resolução de problemas. Para fazer uma webservice, você brigava mais com a tecnologia e infra do que com o negócio que o webservice precisavam prover, agora já estamos mais próximos do negócio, e com o advento dos GPTs, os programadores tem que estar mais próximos ainda do negócio, é necessário ser mais analista do que nunca, saber porque é aplicada a taxa em um caso e não é aplicada no outro caso e ser questionador e observador o suficiente para encontrar erros e questionar o especialista em taxa se aquilo está correto.

Minha opinião das skills mais importantes para o futuro:
-Idioma secundário (inglês ou chinês simplificado)
-Vocabulário técnico e Design Patterns
-Análise de problemas para criação de expressões lógicas
-Utilização de multiplos agentes de tecnologias diferentes

Já é provado cientificamente que seu mundo de conhecimento vai até onde seu vocabulário vai, não é diferente com as IAs, utilize o idioma predominante no dataset dela para ela compreender o que você está pedindo.

1

Mais alguns cents:

Sigo o relator @qwerty123 - a necessidade de entender como extrair as respostas menos alucinadas da IA vai ser um diferencial.

2

Desde o início, tive receio em relação às IAs. Utilizo o Copilot, e ele é útil para tarefas repetitivas (é uma mão na roda), mas realmente, em algumas situações, sugere soluções que nem sempre são as melhores. Se um desenvolvedor usar essas IAs como uma “muleta”, além de criar as dependências que você mencionou, poderá enfrentar dificuldades ao lidar com novas tecnologias, já que as IAs nem sempre possuem informações atualizadas sobre determinados períodos.

2

A mas pura verdade geralmente quando tenho alguma dúvida para ser sanada e não encontro alguém, vídeos ou fóruns eu recorro ao ChatGPT, porém saio com mais dúvida ainda rs

2

O maior problema do ChatGPT, que quase ninguém lembra, é que MUITA coisa ali tá desatualizada. Eu mesmo testei e vi isso na prática: às vezes você tenta aprender algo, mas acaba aprendendo uma forma ultrapassada e errada. Então, é melhor focar na documentação oficial. Se ainda ficar com dúvida, vai no YouTube, dá uma pesquisada e procura vídeos da gringa (caso não tenha tanto domínio do inglês, procura até os confins do YouTube BR e vai dar certo). Sinceramente, os melhores são os dos indianos com aquele inglês carregado de sotaque (spoiler: são ótimos, mas talvez tem que assistir mais de uma vez pra entender tudo kkkkkkk).

0
1

Concordo plenamente com o que você disse!

Comecei a estudar programação no final de 2020, mas só me dediquei de verdade no início de 2022 com um curso completo de JavaScript e finalizei o curso sem conhecer o ChatGPT.

Sempre fui gostei de tecnologia, desmontava brinquedos, controles, computadores, celular e outras coisas para tentar entender como funcionava e tentar criar algo novo. Às vezes funcionava, às vezes não, mas quando dava certo, era uma felicidade enorme. Programar me dá a mesma sensação, ver o código que eu mesmo escrevi funcionando ou finalmente resolver um erro após horas tentando me deixa muito feliz, pois é o meu esforço dando certo.

Sempre achei estranho o uso excessivo de IA, muitas pessoas que eu conheço usa pra fazer qualquer besteira. Quando testei inicialmente não vi motivos pra usar. Só que depois de ver programadores usando IA para criar ferramentas rapidamente, resolvi testar. Hoje uso bastante, mas não de qualquer jeito, só para tarefas simples e rápidas que eu já sei fazer, como monitorar o título de uma página em JS puro e enviar uma notificação quando tiver uma alteração.

Evito usar IA no desenvolvimento de sistemas complexos, pois o código costuma sair desorganizado e com overengineering. Prefiro estruturar manualmente para manter o padrão do projeto. Usar IA nesse contexto exigiria muitas ações que só me atrasariam, das vezes que testei eu tive que:

  • Escrever prompts detalhados explicando o que quero e quais tecnologias uso.
  • Testar o código gerado para garantir que funciona corretamente (layouts visuais sempre saem horríveis kkkk).
  • Reorganizar o código para manter o padrão do projeto.

Recentemente, precisei aprender TypeScript ao desenvolver meu primeiro sistema, pois sem tipagem era erro pra todo lado kkkk. Não usei IA no aprendizado. Assisti vídeos, li documentações e fiz projetos simples para praticar, e precisei retornar à documentação várias vezes.

Meu maior uso de IA hoje é para melhorar textos que escrevo, o que considero uma prática ruim pois depois de melhorado sai sem vida e nem parece que eu escrevi. Por isso eu tenho melhorado a minha escrita para não depender de IA.

1

Concordo plenamente com o que você disse!

Comecei a estudar programação no final de 2020, mas só me dediquei de verdade no início de 2022 com um curso completo de JavaScript e finalizei o curso sem conhecer o ChatGPT.

Sempre fui gostei de tecnologia, desmontava brinquedos, controles, computadores, celular e outras coisas para tentar entender como funcionava e tentar criar algo novo. Às vezes funcionava, às vezes não, mas quando dava certo, era uma felicidade enorme. Programar me dá a mesma sensação, ver o código que eu mesmo escrevi funcionando ou finalmente resolver um erro após horas tentando me deixa muito feliz, pois é o meu esforço dando certo.

Sempre achei estranho o uso excessivo de IA, muitas pessoas que eu conheço usa pra fazer qualquer besteira. Quando testei inicialmente não vi motivos pra usar. Só que depois de ver programadores usando IA para criar ferramentas rapidamente, resolvi testar. Hoje uso bastante, mas não de qualquer jeito, só para tarefas simples e rápidas que eu já sei fazer, como monitorar o título de uma página em JS puro e enviar uma notificação quando tiver uma alteração.

Evito usar IA no desenvolvimento de sistemas complexos, pois o código costuma sair desorganizado e com overengineering. Prefiro estruturar manualmente para manter o padrão do projeto. Usar IA nesse contexto exigiria muitas ações que só me atrasariam, das vezes que testei eu tive que:

  • Escrever prompts detalhados explicando o que quero e quais tecnologias uso.
  • Testar o código gerado para garantir que funciona corretamente (layouts visuais sempre saem horríveis kkkk).
  • Reorganizar o código para manter o padrão do projeto.

Recentemente, precisei aprender TypeScript ao desenvolver meu primeiro sistema, pois sem tipagem era erro pra todo lado kkkk. Não usei IA no aprendizado. Assisti vídeos, li documentações e fiz projetos simples para praticar, e precisei retornar à documentação várias vezes.

Meu maior uso de IA hoje é para melhorar textos que escrevo, o que considero uma prática ruim pois depois de melhorado sai sem vida e nem parece que eu escrevi. Por isso eu tenho melhorado a minha escrita para não depender de IA.

1

Hoje em dia vai ser dificil alguém que está aprendendo não utilizar uma IA em nada para ajudar no aprendizado, o que eu não considero algo 100% ruim, mas também pode realmente causar aquela sensação de dependência bem como a sensação de não ter aprendido realmente sobre aquele determinado assunto

Eu tenho estudado ultimamente sobre Redes Neurais Artificiais, e tenho usado bastante de IA para aprender mais sobre o assunto e gerar códigos para mim em python sobre, já sei sobre todos os conceitos basicamente mas ainda sim tenho usado muito para estudar

Também não recomendo quem está começando a utilizar IA em excesso, pois pode tanto facilitar no entendimento como prejudicar na memorização das coisas por causa da dependência

1

Acredito que essa recomendação não esteja limitada apenas ao ChatGPT; ele é - provavelmente - o ápice simultaneamente mais conhecido e acessível de ferramenta e isso o faz assumir o papel de "facilidade diária". Obviamente isso é uma maravilha da tecnologia, mas assim como um remédio, a má utilização causa apenas problemas.

Minha sugestão, somando ao conteúdo principal, está em usar a ferramenta certa da forma correta: se algo pode te deixar mais inteligente, use-o para tal; se algo pode acelerar seu desempenho, use-o para tal.

Aplicação prática: ao invés de pedir para o ChatGPT escrever seu código - que provavelmente é a parte que você mais gosta quando vai "escrever código" - discuta com ele como se fosse um pair programming, ou ainda, coloque-o para fazer então as tarefas mais chatas que você ja domina mas está cansado de repetir, como boilerplate (como por exemplo escrever um docker-compose.yml da vida).