Educação
Como formar desenvolvedores seniores em um mundo de IA?

Grande parte do nosso trabalho na Alura é estar por dentro e liderar o aprendizado de tecnologia no Brasil. E claro, a pergunta que não quer calar é: nesse novo mundo de IA, como treinamos as pessoas para que elas virem sêniores no futuro?
De maneira bem simplista, o dev sênior é aquela pessoa que já escreveu muito código, e aprendeu muito com seus erros. Mas se o dev não “coda” mais, será que ele vai conseguir aprender tudo o que o sênior aprendeu?
Eu ainda não tenho resposta pra isso, então vou soltar meus pensamentos atuais aleatórios.
-
Um resultado muito validado em ciência do aprendizado é que, pra aprender, precisa “doer”. Você precisa fazer esforço pra aprender algo novo, e se você não está sentindo aquele desconforto, é porquê talvez não esteja aprendendo de verdade. Eu aprendi muito escrevendo código na unha, eu confesso, e em particular, detalhes como estruturas de dados ou rotinas de frameworks específicos. Mas os meus grandes aprendizados, aqueles que me fazem senior, aconteceram pq eu estava ali tomando parte de decisões complexas de arquitetura, de negócio, e de operação. Eu estava discutindo se precisávamos meter uma fila naquele processamento ou não; eu estava discutindo se essa modelagem de tabelas suportaria as consultas SQL que precisávamos ou não; eu estava olhando log do sistema e entendendo o que eu poderia fazer para que aquele problema não acontecesse mais.
-
Os fundamentos ainda são absurdamente importantes. Entender estruturas de dados, entender arquitetura de software, entender sistemas distribuídos, entender banco de dados será sempre necessário. E pra aprender esses, não tem como fugir, igual não tinha como fugir antes: você vai ter que sentar na cadeira e estudar essas coisas todas no detalhe. Você quer entender mais de estruturas de dados? Vai ter que se aprofundar em lista ligadas, pilhas e filas, e como a implementação delas funciona. Quer entender mais de sistemas distribuídos? Vai ter que sentar e estudar. Você não vai mais precisar saber cada vírgula que existe no Redis, mas vai ter que ter uma boa intuição de como o Redis funciona por dentro e por fora.
-
Nossos mecanismos de avaliação de educação vão precisar mudar. Eles sempre existiram pq precisávamos de uma maneira de separar quem entendeu de verdade e quem precisa ainda estudar mais. E projetos eram sempre uma ótima maneira de dar para o aluno um projeto desafiador e ao mesmo tempo medir se ele aprendeu. Projetos complexos de faculdade faziam com que alunos precisassem realmente parar pra aprender, senão não conseguiam entregar nada. Esses dias li o post da prof Crista Lopes, da UC Irvine, comentando que um certo aluno entregou um projeto lindo, mas que quando questionado, não sabia explicar nada. Ou seja, ele provavelmente não aprendeu muito com o projeto. Meu amigo Michael Hilton, da CMU, também publicou um texto, também discutindo a necessidade de repensarmos educação em CS.
Como disse, pensamentos ainda crus, mas que queria abrir com vcs. O que acham? Faz sentido?