Oxi mas é claro, se não tiver o primeiro volume do the art of computer programming na mala de mão para consultar com certeza se trata de impostor.
Agora sério...
Ser capaz de garimpar recursos como um pseudo codigo em alto nivel ou uma explicação informal do algoritmo e ser capaz de transformar em codigo funcional é o minímo que se espera de um programador. A internet ajuda.
O teste do avião não é sobre fazer um projeto inteiro sem usar a internet, mas conseguir entregar codigo funcional sem precisar dela.
Tenho um projeto do .NET identity recém configurado. Meu projet suporta multiplas Organizações e cada Role do sistema tem um ID de organização. Cada role deve definir permissões específicas para o usuário. Ex: Usuário tem a role Gerente em uma organização e pode ver os pedidos de toda a organização e tem a role vendedor em outra organização, podendo ver apenas os pedidos que ele iniciou. Como configuro o identity para autorizar controllers baseados nessa lógica? e como configuro as permissões nas roles?
1- Gere pelo menos 3 diverentes abordagens e descreva os pontos fortes e fracos de cada abordagem. 2- Escolha a melhor estratégia considerando esses pontos. 3- Verifique a solução desenvolvida, avalie casos adversos e potenciais melhorias 4- Descreva passo a passo o que deve ser feito e todos os arquivos que devem ser criados ou alterados com código limpo e bem documentado
Esse foi só um exemplo de prompt que precisei fazer recentemente, Uma forma de autenticação multi-tenant. Já fiz diversas dessas na minha vida porém é tão exporádico que não lembro exatamente quais arquivos alterar.
A IA me deu o caminho, exatamente quais arquivos alterar. 80% estava certo, os outros 20% tive que corrigir (ele tentou implementar uma solição própria para gerenciar as Roles, e o entity tem uma solução pronta).
Quantas horas eu perderia lendo a documentação nada objetiva da microsoft para fazer isso? Quantas horas de tentativa e erro?
E sobretudo, Você sabe customizar um sistema de autorização sem recorrer à documentação?
Hoje os softwares são tão grandes, contam com tantas funcionalidades diferentes, que é impossível "lembrar de tudo no avião"
Trabalhei numa Universidade. Estava alterando códigos de 1998. O Autor original do arquivo estava na minha frente. Um programador excelente que sabia todas as regras de negócio dos últimos 40 anos dessa universidade.
- Ele não sabia o que é CQRS
- Ele não sabia fazer uma replicação
- Ele não sabia mecher com message brokers
- Ele não sabia react, vue, angular ou sequer javascript avançado
- Ele não sabia usar microserviços
Eu uso todas essas tecnologias, não consigo lembrar tudo de cabeça.
Ele é menos programador por não saber?
Ou eu sou menos programador por saber e ter que recorrer à documentação?