r/devpt 2d ago

Carreira Problemas com projeto e dependência da IA

Estou a fazer o meu projeto de estágio, que comecei de raiz, estava tudo a andar normal, tinha autonomia e sentia-me a evoluir.
Apesar de já não pegar naquela tecnologia há anos (o projeto é em React Native e JavaScript) estava a sentir que estava a conseguir aprender e a aplicar o que sabia.

O problema foi quando reparei que estava a ter um problema com os estados das minhas variáveis e passei a usar uma biblioteca para isso, a partir daí passei a usar IA para tudo. Não sinto que esteja a fazer o correto para que a minha evolução seja a melhor possível e neste momento sinto-me perdido no meu próprio projeto e completamente dependente da IA. Também estou apenas 3 dias por semana no estágio então mais difícil se torna lembrar-me das coisas.

Alguém tem alguma dica que possa ser útil e que possa me ajudar a livrar-me desta dependência da IA?

24 Upvotes

28 comments sorted by

1

u/lipsinfo 2h ago

!remindme 74 hours

6

u/putocrata 1d ago

Podes fazer TDD. Escreves os testes com AI e depois segues o ciclo: Red, green, refactor.

Primeiro corres e vês o teste a falhar para garantir que não estás a testar algo já implementado, depois pedes a AI para implementar até os testes estarem todos a passar na suite, depois pedes para a AI dar refactor e meter o código bonito (certifica claro que os testes continuam a passar).

Faz esse método incrementalmente até teres o projeto concluído.

9

u/Repulsive_Support_24 2d ago

Não pares de usar AI, muda só a abordagem.
Não deixes a AI ser dona do projeto, avalia e verifica tudo oq ela escreve e mantem te critico.
Usar AI vai te poupar horas, mas n caias no erro de a deixar fazer tudo sem tentar perceber o que ele de facto está a fazer, assim nada aprendes.

Ou seja, de facto n devias ser dependente de AI, mas não usá-la vai te deixar para trás perante o resto.

Boa sorte!

0

u/[deleted] 2d ago

[deleted]

14

u/jruipinto 2d ago

Eu uso IA todos os dias e tem me salvado incontáveis horas.

Não seria tão produtivo sem ela mas se ela desaparecer amanhã não perco nada do que ganhei com ela porque simplesmente só a uso para pesquisar.

Tenho 1 problema e sei qual a solução que quero mas não me lembro ou não sei como lá chegar. Peço ao perplexity para me mostrar as alternativas que tenho (e é aqui que residem os meus ganhos de performance). Pego nas respostas e valido 1 por 1 qual a que se adequa melhor (assim evito as alucinações e aprendo algo novo ao mesmo tempo).

Código gerado por IA, simplesmente não uso, de forma nenhuma. É demasiado risco sem grande retorno.

O que quero dizer com isto é que não aconselho utilizar a IA como output. Mas recomendo utilizá-la como input, porque me torna mais eficiente a pesquisar e a resolver problemas de formas mais heterogeneas.

7

u/throwaway0000012132 2d ago

Sim, deixa de usar LLMs como se fossem a tua muleta e estuda o que estás a fazer e compreende o que estás a fazer, senão qualquer dia não vais saber sequer andar sem a muleta e aí estás lixado.

Vibe coding só cria engenheiros preguiçosos e que não sabem pensar: queres mesmo ser essa pessoa?

6

u/Competitive-Lion-341 2d ago

Claro que não, estou a reconhecer o meu próprio erro e a perceber como posso melhorar esse aspeto da minha vida profissional. Porque não estou a enganar mais ninguém sem ser a mim mesmo.

0

u/throwaway0000012132 2d ago

Exacto. Ainda bem que já percebeste que é um problema estares dependente de algo sem compreenderes o que é feito.

8

u/KasimisaK 2d ago

Além de tudo o que já foi dito há uma consideração a fazer. Estás a usar a AI para "pensar" por ti e te dar soluções? Se sim má pratica. Usar AI para "cagar" código é ok se fizeres a pergunta certa e deres uma prompt com código feito por ti "às três pancadas". Ou seja, usares a AI para limpar o teu código é ok e time saver. Se tás a usar para fazer tudo por ti vai dar merda muito rápido pq ao aumentar a complexidade vais ter soluções não pensadas por ti e vai ser um labirinto. Also React. Com tanta coisa que existe, do nada tens componentes e dependencias que nem sabes o pq se lá estarem. AI é como o Google. Quando se faz a pergunta certa é incrível. O truque é resolver o problema primeiro e saber o que perguntar

5

u/Swimming_Bar_3088 2d ago

Algo interessante é quando pedes a AI código de uma forma bem especificada e 90% certo mas não funciona porque têm lá 10% de magia (as vezes merdas extra que não servem para nada).

O código não funciona, metes na AI de volta e ela também não sabe.

Eu vi isto num curso da cisco, em que já tinha feito o código 100% por mim, sabia o que estava errado e o que não devia estar lá.

Mas mesmo assim teve graça.

1

u/Competitive-Lion-341 2d ago

Sim infelizmente foi o que fiz, não tenho de todo orgulho disso porque sei que me estou a espalhar ao comprido. Daí saber que tenho de mudar algo em mim e em como faço as coisas para que não se repita. Preciso de ser eu o solucionador dos problemas, não ter sempre a "moleta".

8

u/inhalingsounds 2d ago

Uma receita que funciona: em vez de considerares a IA como algo que resolve as coisas por ti, faz dela o teu minion que (por agora, enquanto és verdinho) SÓ SERVE para as partes aborrecidas.

Estás a tentar fazer debug de alguma coisa e queres colocar console.logs pelo processo todo? Pede à IA.

Estás a construir um form, já tens os campos principais, mas agora é uma seca ter de replicar isso para outras partes do componente? Usa a IA.

Queres documentar? Usa a IA.

Não uses a IA para evitar aprender, usa-a para não perder tempo.

-7

u/cenasverdesavoar 2d ago

Tenta usar um dos dias livres para estudar o que já fizeste. Mete o código no IA e pede-lhe para ele te resumir o que faz e criar anotações.

5

u/OuiOuiKiwi Gálatas 4:16 🥝 2d ago

Tenta usar um dos dias livres para estudar o que já fizeste. Mete o código no IA e pede-lhe para ele te resumir o que faz e criar anotações.

Portanto a tua sugestão é usar a IA para estudar em vez de estudar por si. Mete o código gerado por IA na IA e pede à IA para resumir o que fez e dar-te umas notas para fazeres copy-paste num documento que nunca mais vais abrir. Isso vai certamente reduzir a dependência de IA.

Sigam o devPT para mais dicas excelentes.

2

u/cenasverdesavoar 2d ago

Não era para meter num documento. Era para anotar o código mesmo. Se foi o IA que foi o código porque não pedir para ele próprio explicar o que fez? Porque isso não pode ser uma forma de aprender?

7

u/emerl_j 2d ago

A IA é como uma calculadora. Usa... mas não abuses.

-2

u/Fridux 2d ago

Eu pessoalmente sou da opinião que usar AI para produtividade é sempre mau. Mesmo quando a pessoa aplica pensamento crítico para verificar se a solução produzida pela AI é boa, o facto de não ter sido ela a chegar a essa linha de pensamento significa que não aprendeu com a experiência a lidar com os muitos potenciais erros que normalmente teria no percurso. Isto tem ainda o agravamento do processo de revisão de código ser, por norma, sempre menos aprofundado que o processo de desenvolvimento, e consequentemente poder não acautelar todos os potenciais problemas da solução proposta.

A minha sugestão é que as pessoas comecem a inverter os papéis, escrevendo elas próprias o código, e delegando o papel de revisão à AI, que podem também usar como base de conhecimento mas sem confiar. Qualquer outro tipo de utilização de AI vai afectar negativamente e de forma significativa o vosso ritmo e qualidade de aprendizagem, e na minha opinião o benefício a nível de produtividade associado ao uso de AI é uma ilusão (posso elaborar mais sobre isto se alguém tiver interesse). Não nego que AI seja uma nova ferramenta e a integração desse tipo de serviço no nosso fluxo de trabalho não faça parte do nosso futuro, mas como todas as ferramentas pode ser usada incorrectamente, e a minha intervenção nesta publicação é precisamente para alertar para esse risco.

5

u/my_kernel 2d ago

Concordo que o uso de ferramentas de AI deve ser feito com espírito crítico, mas discordo da ideia de que recorrer à AI para aumentar a produtividade seja sempre mau. Essa visão parte do pressuposto de que o valor do processo de aprendizagem está exclusivamente em repetir os erros até aprender com eles, o que, embora válido até certo ponto, ignora a possibilidade de aprendizagem por observação, comparação e análise crítica. Ao usar AI como apoio na fase de desenvolvimento, um programador pode, por exemplo, comparar abordagens, questionar decisões e consolidar conhecimentos de forma até mais eficaz do que se estivesse sozinho a reinventar a roda.

Além disso, a ideia de que o processo de revisão é sempre menos aprofundado do que o de desenvolvimento não é necessariamente verdadeira. Depende muito da pessoa, do contexto e da cultura da equipa. Um bom programador revê com atenção, especialmente quando sabe que a origem da solução é uma AI e, portanto, está mais propenso a desconfiar.

A sugestão de inverter os papéis: escrever o código manualmente e usar a AI apenas para revisão, pode ser interessante nalguns contextos (por exemplo, em momentos de aprendizagem inicial), mas é limitativa. Em muitos cenários profissionais, o tempo é um recurso escasso e a AI permite acelerar tarefas repetitivas, explorar soluções alternativas ou simplesmente desbloquear raciocínios. Negar esse benefício em nome de um purismo teórico pode, paradoxalmente, tornar o processo menos produtivo e menos formativo.

A chave está no equilíbrio: usar a AI como extensão do raciocínio, não como substituto. É uma ferramenta, como uma calculadora, e como todas as ferramentas, depende de quem a usa e de como a usa.

1

u/Fridux 2d ago

Concordo que o uso de ferramentas de AI deve ser feito com espírito crítico, mas discordo da ideia de que recorrer à AI para aumentar a produtividade seja sempre mau. Essa visão parte do pressuposto de que o valor do processo de aprendizagem está exclusivamente em repetir os erros até aprender com eles, o que, embora válido até certo ponto, ignora a possibilidade de aprendizagem por observação, comparação e análise crítica. Ao usar AI como apoio na fase de desenvolvimento, um programador pode, por exemplo, comparar abordagens, questionar decisões e consolidar conhecimentos de forma até mais eficaz do que se estivesse sozinho a reinventar a roda.

Estás errado em relação ao pressuposto daquilo que disse. O que disse é baseado numa teoria, com a qual eu próprio concordo por experiência própria, de que praticar traz muito mais benefícios a nível de experiência e organização conceptual que observar. Não nego que seja possível aprender observando apenas, mas normalmente quem observa tem tendência a focar-se apenas no que funciona, e mesmo quando é alertado para o que não funciona, tende a não dar grande relevância, o que acaba por se traduzir na não retenção do conhecimento. Outra razão pela qual a prática traz muito mais benefícios, é devido à investigação que te obriga a fazer acabar por te pôr em contacto com conceitos muitas vezes tangenciais ou até sem relação nenhuma com o que estás a fazer.

Além disso, a ideia de que o processo de revisão é sempre menos aprofundado do que o de desenvolvimento não é necessariamente verdadeira. Depende muito da pessoa, do contexto e da cultura da equipa. Um bom programador revê com atenção, especialmente quando sabe que a origem da solução é uma AI e, portanto, está mais propenso a desconfiar.

Mais uma vez a minha experiência diz-me que estás errado, pois a tendência natural é de confiar minimamente em quem fez o código. Se essa confiança não existe, então o programador cujo código estás a rever é peso morto na equipa e pode ser dispensado. Se estás a rever código gerado por AI, e tens de fazer o esforço não só de compreender a linha de raciocínio usada para gerar o código, como também de pensar em potenciais problemas que essa linha de pensamento possa ter, então o exercício de revisão acaba por requerer tanto ou mais esforço que escreveres tu próprio o código, ou delegares essa função em alguém em que confies minimamente. Isto para não falar do facto que, pelo menos actualmente, AI não é lá muito competente a gerar soluções baseadas na simplicidade e elegância, aumentando a carga cognitiva sobre quem faz a revisão do código, e consequentemente a chance de cometer erros.

A sugestão de inverter os papéis: escrever o código manualmente e usar a AI apenas para revisão, pode ser interessante nalguns contextos (por exemplo, em momentos de aprendizagem inicial), mas é limitativa. Em muitos cenários profissionais, o tempo é um recurso escasso e a AI permite acelerar tarefas repetitivas, explorar soluções alternativas ou simplesmente desbloquear raciocínios. Negar esse benefício em nome de um purismo teórico pode, paradoxalmente, tornar o processo menos produtivo e menos formativo.

Vários pontos aqui:

  1. A ideia que a AI veio acelerar tarefas repetitivas é pura desinformação, pois isso sempre foi possível usando bibliotecas e macros, e se a tarefa for mesmo muito repetitiva, a probabilidade de alguém já ter publicado algo que a resolva de uma forma muito mais competente, eficiente, e testada que qualquer solução produzida na hora por um modelo heurístico é extremamente alta;
  2. No meu comentário eu refiro que é perfeitamente justificável usar AI como fonte de conhecimento, a única coisa que alerto é com o seu uso para produtividade, portanto neste aspecto o teu comentário está de acordo com o que disse;
  3. Em relação ao uso de AI para produzir código no contexto profissional, para além dos problemas que referi anteriormente, tens ainda o facto de que, pelo menos neste momento, a AI não inventa nada de novo, portanto, e repetindo o que referi no primeiro ponto, ou existe uma grande probabilidade de alguém já ter disponibilizado soluções clássicas disponíveis para resolver o teu problema, ou então a AI vai estar a navegar na mayonnaise tanto ou mais que tu;
  4. Nada do que disse vem de teoria pura, mas vou deixar passar este ponto pois, de acordo com o que escrevi no ponto 2, penso que a ideia que tentei transmitir originalmente não passou da melhor forma.

A chave está no equilíbrio: usar a AI como extensão do raciocínio, não como substituto. É uma ferramenta, como uma calculadora, e como todas as ferramentas, depende de quem a usa e de como a usa.

Foi precisamente esse o ponto do meu comentário, que podes constatar se leres o meu último parágrafo.

6

u/shadow_phoenix_pt 2d ago

Eu há coisa dois anos tive de resolver um problema usando Filtros de Kalman. Pedi ao AI para gerar o código para isso em Python, o que ele fez. Depois, tive de passar um mês a ler livros e artigos para perceber a resposta e adaptar para a minha situação.

O AI ajuda, mas se não percebes o que ele devolve, não adianta de muito.

1

u/Competitive-Lion-341 2d ago

Sim, estou totalmente de acordo e tenho a noção da asneira que fiz, acima de tudo para comigo e para o meu progresso enquanto profissional.

11

u/Zen13_ 2d ago

A IA é uma ferramenta.

Não cavas com as mãos só para não usar uma pá, certo?

Do mesmo modo que a pá não cava por ti, a IA não resolve problemas por ti. Ajuda-te a resolver problemas de forma mais rápida, tal como a pá te ajuda a cavar mais rápido.

Precisas é de aprender a usar a IA, tal como tens de aprender a usar uma pá:

  • para não ficares com bolhas nas mãos
  • para não ficares com dores nas costas
  • para não morreres electrocutado, porque insististe em cavar num cabo de alta tensão

Quanto mais poderosa for uma ferramenta, maior terá de ser o conhecimento necessário para a usar.

Portanto, não deves evitar usar a IA, deves aprender a usá-la.

Isto implica saber que: A IA FALHA MUITO.

Ou seja, deves validar muito bem tudo o que a IA faça, o que implica: saber fazer melhor que a IA.

1

u/Competitive-Lion-341 2d ago

Sim, há algumas coisas a reter disto.

1- Perdi o controlo a algo que devia ter a 100%
2- Não aprendi e estou a sabotar-me enquanto profissional
3- Há muita coisa para aprender e não me dediquei a isso e vou ter de "perder tempo" novamente a perceber as coisas para voltar a ter controlo sobre isso.
4- Sinto-me um impostor autêntico

1

u/Zen13_ 2d ago
  1. Acontece com ou sem IA.

  2. Usar a IA também permite aprender mais rapidamente do que não a usar. A não aprendizagem não depende da utilização ou não de ferramentas, depende apenas da postura da pessoa. Ou quer aprender, ou não quer aprender. Quem não quer aprender não aprende, quaisquer que sejam as condições, com ou sem ajuda. Quem quer aprender, aprende melhor e mais rápido com ajuda.

  3. Só não aprendes se não quiseres. A IA não tem nada a ver com isso.

  4. Ando há mais de 35 anos nisto. Os únicos impostores são os que fazem de conta que produzem. E usarem ou não a IA não muda isso. Continuam a trabalhar apenas se alguém estiver a olhar. Esses sim, são impostores. Quem usa ferramentas para trabalhar, seja um IDE ou IA, desde que produza, não é impostor.

3

u/suicidalcrocodile 2d ago

Maior parte disso vai ser mentalidade, disciplina. AI deve ser complementar e não um substituto para as tuas skills, e acho que percebes isso, mas deve faltar interiorizar isso, como muitas coisas em programação não basta só saberes o que X é, tens que viver X.... viver....viver xixi 💦

anyway lembra que um software developer não é só alguém que sabe escrever syntax de codigo, problem solving é uma grande parte do teu leque e é algo que tens que praticar, tens que ficar frustrado as vezes, é normal, é assim que treinas o músculo, como no ginásio, portanto da próxima vez que sentires frustrado e quiseres usar AI para resolver o problema tenta relembrar que o sofrimento faz parte, se estás sempre a ficar frustrado sem crescimento aí já é outro problema 🤷🏼‍♀️

1

u/Competitive-Lion-341 2d ago

Sim totalmente de acordo e tenho a plena noção do meu erro. Fui "infantil" misturei frustração de "não saber" (talvez devia ser um ainda e devia estar bem com isso), com um bocado de preciso de fazer isto e não sei por onde pegar. Assustei-me com isso tudo e não assumi as minhas responsabilidades, acima de tudo perante mim.

4

u/Plittert 2d ago

Não diria que precisas de te livrar da IA, mas sim de compreender por que motivo ela sugere uma determinada abordagem. Ou seja, investir tempo a analisar as suas sugestões, o código e os conceitos que apresenta.

Além disso, é fundamental manter um olhar crítico sobre o que a IA propõe. Não se trata apenas de aceitar cegamente, mas de avaliar, com base na tua experiência e no que estudaste, se aquela é realmente a melhor opção. Com o tempo e a pesquisa, vais perceber quando há alternativas mais adequadas – seja algo que já utilizaste antes ou uma solução que encontraste ao aprofundar o tema.

A IA é e continuará a ser um facilitador na escrita de código. Tens duas abordagens possíveis: podes usá-la como uma ferramenta para aprender e aprimorar o teu conhecimento mas sempre tendo um pensamento crítico ativo, ou podes limitar-te a fazer copy-paste. E deixa-me dizer-te já: se escolheres a segunda opção, talvez seja melhor considerares outra carreira. Sem pensamento crítico e vontade de evoluir, não vais longe.

My 2 cents.

3

u/blink0837 2d ago

A IA faz parte do futuro.

O motor de pesquisa do Google está a perder visitas devido à IA. Agora já incluem respostas do Gemini quando pesquisas por algo. Isto é uma forma de não ficarem para trás.

Uma empresa de desenvolvimento vai querer que uses a IA porque te poupa tempo a ti e poupa tempo à empresa (e dinheiro). Agora o que eles vão querer é que revejas o código escrito e não seja apenas copy paste...

O importante é saberes o que estás a fazer. Qualquer um pede à IA para criar um mini-jogo online, mas nem todos percebem que devem acautelar casos de sql injection (entre outras vulnerabilidades), scalability, etc.

4

u/OuiOuiKiwi Gálatas 4:16 🥝 2d ago

Alguém tem alguma dica que possa ser útil e que possa me ajudar a livrar-me desta dependência da IA?

Sugestão assim à maluca: deixa de usar?

Não há patches de nicotina para isto.