Bluesky, Mastodon, Telegram e RSS

[en] Novos desenvolvedores junior não estão aprendendo a programar traduzir nmn.gl

Essa é mais uma situação, como tantas outras, em que eu fico imaginando “como deve estar sendo diferente para as novas gerações fazer X” devido a alguma nova tecnologia ou mudança comportamental. O desenvolvimento de software deve estar sendo uma das áreas mais afetadas pelo uso de IA, quase como um “paciente zero” de toda essa onda, e talvez a gente esteja comprometendo toda a nossa base de novos profissionais sem um preparo para moderar o uso dessas ferramentas enquanto se adquire uma experiência necessária no campo.

4 comentários

4 comentários

  1. Dizia-se isso do Google (pesquisar no Google como fazer um bubble sort, por exemplo, era “não saber programar”). Depois foi a vez do Stack Overflow que “dava as respostas” e os programadores não aprendiam nada.

    Ao lado de tudo isso tem a sempre presente crítica à faculdade de CiC que “não ensina o que o mercado pede”.

    Essas polêmicas da profissão de programador são recicladas a cada 10/15 anos.

  2. Eu entendo a reclamação dele com relação ao uso de IAs pra gerar código, e ao fato de não se conhecer o StackOverflow. Mas eu fico com uma pulga atrás da orelha com relação ao que ele falou (tradução feita no Copilot):

    “Claro, o código funciona, mas pergunte por que ele funciona dessa maneira em vez de outra? Silêncio. Pergunte sobre casos extremos? Olhares vazios.”

    Será que é apropriado exigir de um programador júnior esse nível de maturidade? Digo isso no sentido de que, em projetos mais estruturados, há uma certa cultura de se adotar padrões — não digo em relação aos padrões de projeto, e sim a recomendações específicas, para seguir uma mesma lógica. Por exemplo, adotar nomes de variáveis em um formato específico, ou utilizar interfaces e abstrações. Se você está dando uma liberdade para o programador júnior, recém-saído da faculdade, tomar uma decisão por conta própria, é de se esperar que, pela pouca experiência, ele vá fazer uma escolha inadequada. Por isso que existe revisão de código. E pra isso que existe arquitetura de software também, que idealmente não seria a responsabilidade de um júnior.

    Mesma coisa sobre os casos extremos. Tudo bem, há que ter uma noção básica para não permitir um nome nulo ou com 1000 caracteres em um campo que só suporte 10 coisas. Mesmo assim, há coisas específicas que só um QA e/ou testes automatizados conseguiriam detectar. Além das regras de validação, que deveriam estar especificadas no projeto.

    1. Penso que isso é o mínimo que se exige de qualquer programador, se a pessoa não sabe porque um código funciona é melhor deixar que a IA redija o código.