Stack Overflow estava certo um ano atrás?

26.73k views4553 WordsCopy TextShare
Lucas Montano
🌏 Aproveite a oferta exclusiva da NordVPN 4 meses extra aqui → https://nordvpn.com/montano .Sem r...
Video Transcript:
o quão errado a gente pode estar numa janela de um ano esse artigo aqui ele é de outubro de 2023 e foi postado pelo stack overflow e eu não sei vocês mas durante boa parte da minha carreira sempre quando eu tinha uma pergunta para fazer pro Google Na verdade eu colocava algo no fim da pergunta que é stack overflow porque dessa forma eu sabia que eu ia cair num humano respondendo a minha pergunta como se eu tivesse 5 anos ao invés de ter que parar e ler eu mesmo a documentação e assim como open source
stackoverflow sempre foi uma comunidade onde um lado só pergunta e poucas pessoas contribuem e respondem recentemente eu vi que muita tem mais pessoas respondendo mas a grande maioria tá usando o próprio chat GPT para responder então fica a questão já do do stackoverflow que eles devem estar enfrentando que é como saber se isso aqui é uma é uma inteligência artificial respondendo para ganhar pontos na comunidade ou é um ser humano que foi lá e escreveu e tal e dedicou o seu tempo para ensinar outra pessoa no final das contas do dia o que Que diferença
faz tu perguntar pro chat IPT se tu vai ter que no stack overflow e ver uma e ver uma resposta de uma ia falando nisso tem uma aba nova aqui ó overflow ai a funcionalidade para fazer uma Super Charge aqui no teu workflow stack overflow no seu ambiente de desenvolvimento Cara isso aqui é novo ó eu não tinha visto isso aqui mas enfim não é sobre isso o vídeo depois a gente dá uma olhada nisso então a ia é suficiente para aumentar a sua produtividade essa pergunta foi feita em 2023 vamos vamos ver qual foi
a conclusão do artigo E aí vamos analisar se depois de um ano o artigo estava correto ou não ser um programador eficaz com uma ferramenta de geração de código ainda exige que você seja um programador eficaz sem uma ferramenta de geração de código e eu vou te dar um exemplo tá recentemente a gente estava em processo de entrevista na empresa e eu fiz um workshop tipo assim com um colega meu que é muito mais experiente entrevistar Engenheiros né e ele tava me contando sobre na antiga empresa dele experiências que ele teve ao entrevistar candidatos que
estavam utilizando Inteligência Artificial Ah ele era contra Inteligência Artificial eu dei o meu palpit que eu sou a favor que eu não me importo do candidato usar a inteligência artificial na entrevista só que a gente chegou numa conclusão que ã tem que usar da maneira correta né então qual que seria a maneira errada e qual que seria a maneira correta se tu tem uma tarefa seja na entrevista Ou seja no teu dia a dia que pede para ti por exemplo Conectar em uma API Tá tu vai fazer conexão com uma API o que que tu
precisa bom tu vai precisar de um client http certo para fazer a requisição aí tu vai usar o teu post teu get vai fazer o o request No método que tu quiser fazer aí tu vai ter que fazer o quê o parce do response vai ter uma resposta e tu vai fazer o parce disso vai transformar em objetos E aí vai usar ah de forma assíncrona certo para não bloquear a tua aplicação então tem três pontos Chaves aqui quanto vai fazer uma conexão numa api externa certo podemos concordar com isso enfim enfim tem candidatos tá
que pegaram isso aqui e simplesmente jogaram na Inteligência Artificial então o cara pega e fala tipo assim cara ã conecta nessa api aqui para mim E aí qual que é o prompt né o prompt inteligente Ah que o candidato acha que é inteligente né que o programador acha que é inteligente conecta nessa api transforma em objeto a resposta e faz de forma assíncrona Ok esse prompt é inteligente ao teu ver ao né ao teus olhos cara o problema desse prompt já vou te falar é que tu não tá dando as coordenadas pra inteligência artificial no
no que que ela deve utilizar tá tu não tá dizendo para ela o que que ela deve utilizar para conectar como que ela vai transformar a resposta em objeto de que forma ela vai fazer algo de forma síncrona Então nesse momento ela pode optar por bibliotecas que não existem no teu projeto ela pode optar por algo defasado ou talvez algo que tu não domine e que tu não vá conseguir depois explicar então o que que eu acho que seria um eficaz aqui por exemplo né Connect na api utilize Ok http com retrofit para fazer o
parce use Jon e faça isso em uma função suspensa com corins entendeu Tipo assim ó tu diz o que que tu quer que ela faça porque tu sabe como que tu precisaria fazer só tá usando a inteligência artificial para ser mais eficiente para produzir mais rápido aquele código mas tu não tá usando elas simplesmente para descobrir como faz Tu sabe como faz e tu quer ser mais ã mais produtivo porque isso aqui não é mais produtivo o que isso aqui vai causar é um código errado um código que tu não vai entender que não vai
encaixar no teu projeto E qual vai ser a tua resposta para isso aqui um novo prompt Então se tu cair nesse loop aqui de não funcionou cria um novo prompt para ver se agora ela te sugere algo novo ao invés de tu deixar o teu prompt mais específico é uma bandeira vermelha tanto para um candidato tanto para um colega de trabalho ou para ti mesmo tenta te corrigir nisso tá quando o stack overflow chegou pela primeira vez há 15 anos foi um grande avanço para muitos programadores de repente os programadores podiam compartilhar conhecimento sobre peculiaridades
bugs e melhores práticas completo com código pronto para copiar e colar conheço muitos engenheiros que nos visitam várias vezes por dia esse recurso redirecionado mudou a forma como os programadores trabalham Cara isso aqui é fato e uma coisa que eu falei até pro meu colega foi o seguinte meu hoje a gente tá bloqueando da galera de usar Inteligência Artificial entrevistas na minha época eu lembro que a gente bloqueava o candidato a usar o stack overflow a gente falava tu pode usar o Google mas tu usa a documentação oficial tu não pode pegar uma resposta pronta
no stack overflow Tipo olha só como a gente evolui hoje em dia é muito aceitável um candidato Ah eu me esqueci como é que usa aquela pi eu posso pesquisar no Google o cara falar Pode pesquisa no Google quero ver como que tu Faria na vida real tá então tem dois tipos de entrevistador aquele entrevistador que vai te falar Não não tu tem que saber isso de Core que tá totalmente fora da realidade porque ninguém sabe as coisas de core no dia a dia e outros entrevistadores vão falar claro procura eu quero ver na verdade
analisar como que tu resolve o teu problema e Como que tu procura mas na época a gente até dizia para não usar o stack overflow e agora a gente tá discutindo se a gente deixa ou não os candidatos usarem Inteligência Artificial Mas de fato stack overflow mudou a vida dos programadores de como eles trabalham aí há 15 anos atrás e hoje eu poderia até dizer que a inteligência artificial mudou a minha vida cara eu tô usando muito Inteligência Artificial não só no trabalho mas eu uso também na minha vida pessoal aqui PR gerar conteúdo PR
vocês a única coisa que para mim é um problema é que aqui na na na União Europeia muitas funcionalidades de inteligência artificia são bloqueadas cara é um absurdo Meu deixa eu pegar uma coisa PR ti Pera aí olha a Sara me deu esse esses óculos aqui de presente que é da daib com a meta tá E é muito legal cara tem uma função aqui que tu consegue gravar e também tem uma inteligência artificial emb nele que é a o a llm da Meta né a lama o único problema são dois problemas que eu tive a
ao ter esse esse óculos aqui o primeiro deles foi fazer o setup tá então a gente a Sara comprou o óculos fora da Holanda porque aqui na Holanda a venda dele é proibida por conta da câmera que quando começa a gravar tem uma luz que fica piscando só que aqui eles acham que essa luz não é brilhante suficiente para galera saber que tu tá gravando alguém certo Então esse foi o primeiro desafio como que eu crio crio uma conta no aplicativo da Meta para conectar o óculos e depois como que eu desbloqueio a inteligência artificial
que é bloqueada em toda a Europa e na verdade estava em Beta apenas nos Estados Unidos então para fazer o setup eu precisei usar uma VPN criar uma nova conta na Apple usar uma VPN e fazer a configuração toda vez que eu quero usar a inteligência artificial desse óculos ou por exemplo o modelo de voz avançado do GPT no meu celular ou no no celular só que tá disponível eu preciso utilizar a PN E aí tu deve estar pensando Nossa Lucas que trabalheira meu mas olha a volta que tu tem que fazer para poder usar
uma inteligência artificial Ah daí tu est pensando Nossa Lucas que mão né cara tá conectando a VPN a mesma coisa que a galera falava quando Twitter ficou fora do ar eu não vou usar é muita mão usar cara é literalmente um clique Pronto tô conectado nos Estados Unidos então esse vídeo tá sendo patrocinado pela Nord VPN que é a VPN que eu uso há anos que me ajudou a ter acesso antecipado aí ao modelo de voz avançado do chat GPT ao modelo de intelig artificial no meu óculos a me sentir mais seguro numa rede pública
de wi-fi e sim cara eu sei eu sei hoje em dia tem muitos influenciadores que vendem o uso da VPN porque ele é necessário por motivos de segurança e cara deixa eu até te falar real tá isso é isso é bobagem hoje em dia todos os serviços são encriptados que tu usa Man in the miral pode acontecer né porém os os navegadores de hoje em dia já vão gritar na tua cara dizendo que a conexão não é segura só que tipo assim cara não é a VPN não trata só disso então cara eu sei que
tu que é Dev tu que sabe de tecnologia tu fica meio cético a escutar sobre VPN quando alguém fala que é por questões de segurança então pratica é desenvolvedor eu vejo a VPN que é como algo que é muito mais interessante por essas outras funcionalidades então o fato de tu poder escolher da onde que tu quer acessar o serviço que tu vai acessar é é a maior vantagem para mim Outra funcionalidade que eu uso tá sempre habilitada é o Dark web monitor Eu já trabalhei com sistemas de monitor de Dark web e cara eu posso
te dizer meu os teus dados podem est vazando lá tuas credenciais basicamente a galera usa paste bein vários sites para fazer a digamos a venda das tuas informações e a Nord VPN monitora tudo isso na Dark web Então sempre que uma credencial tua vazar ou alguma coisa do tipo dados pessoais a n VPN te avisa e mais uma coisa para ti que instala muito pacote muita dependência é detecção de malware tá então malware e links são todos dos cobertos detectados então assim não é uma questão de nossa tu precisa comprar assinar Nord VPN porque tu
vai acessar o wi-fi no aeroporto eu sei que tu sabe se tu tiver em https ou usando um navegador decente Provavelmente o Main the miror vai ser mais difícil de acontecer não impossível né Tem ficha em que pode acontecer ainda mas é é muito mais difícil se tu sabes de tecnologia porém essas outras funcionalidades é o que me faz querer assinar a Nord VPN e cara Experimenta a Nord VPN tem uma garantia de rebolso de 30 dias Então baixa faz o teste e e vê vê como que tu usa ela tá Não esquece de conferir
o link que tá aqui na descrição para ter acesso a uma oferta exclusiva da Nord VPN que te dá 4 meses extras com garantia de reembolso de 30 dias Beleza agora agora a pergunta é como que eles construíram o stack overflow antes do stack overflow existir esse meme já foi muito mais poderoso né a outra mudança acontecendo agora a menos que você tenha estado com emca no ano passado você sabe que a inteligência artificial G ativa tomou o mundo da programação e várias interfaces de chat plugins estão gerando código que está indo para sistema de
produção ah Git Hub copal chat ept e mais deram aos desenvolvedores o poder do código quase que instantâneo Mas qualquer um que pense que essas ferramentas podem torná-los super desenvolvedores de software da noite para o dia terá um rud despertar ser um codificador eficaz com uma ferramenta de geração de código ainda requer que você seja um codificador eficaz sem uma as ferramentas de código de geração de código sem dúvida terão novas pessoas para o desenvolvimento de software trarão né novas pessoas para o desenvolvimento de software mas elas ainda precisarão fazer o trabalho de entender o
código que suas interfaces de bate-papo produzem Então como que o Code Jen pode melhorar a produtividade ah exatamente o que eu falei aqui as ferramentas de code gen são treinadas com códigos existentes né muito e muito código existente elas sabem as maneiras como o código foi escrito e como ele resolveu problemas no passado então se você tiver escrevendo algo que resolva problemas comuns definições de tipos conexões com banco de dados ou sdc definições de apis o Code gen Pode preparar isso facilmente há um conceito de algumas linguagens chamadas scaffolding você cria um modelo que os
compiladores ou outros recursos de linguagens usam para criar código real as ferramentas code gen são ótimas em scaffolding pedi a nossa ferramenta de a interna um modelo que se conectasse a um banco de dados postes então aqui tá o código que ela gerou normal mente você pesquisaria na web pela biblioteca de conexão para sua linguagem de escolha então copiar e colaria o código de exemplo e o modificaria então aqui ele fala sobre como a ia serve como um copy paste mais avançado né pois ele adapta o código para colocar no seu problema específico Cara isso
aqui é eu não sei se ele faz isso muito bem não chega de mexer com várias variáveis e reescrever manualmente o que muitas vezes introduz um bug Quando esquecemos um um parêntese de fechamento ou ponto e vírgula isso aqui é bobagem né isso aqui cara erro por esquecer ponto e vírgula se acontece o teu problema não é inteligência artificial ou a falta da Inteligência Artificial se você sabe o que quer o Code Jam pode ser um atalho no blog acima os desenvolvedores do figma Dizem que o Code Jen oferece maior alavancagem quando você o aplica
de uma forma específica para sua equipe empresa e fluxo de trabalho específicos o Code J está fazendo trabalho de documentação de e código de exemplo estruturado para construir código que se aplica a sua situação específica Claro a codificação nunca foi a parte difícil são os requisitos isso aqui é um é um loop né Muito grande para quem eh para quem trabalha na área vocês sabem que eu quero falar com isso cara porque normalmente tu tem um requisito tá E esse requisito ele tem que se encaixar no projeto existente na tua code base Então como que
funciona e por que que eu acho que um po um PM ou um outro profissional analista de sistemas não substitui um programador ali no dia a dia porque cara o que acontece aqui é um ciclo de feedback tá ligado onde a gente lê o requisito a gente analisa o código e a gente vê que o requisito tá errado então atualiza o requisito olha no código e assim vai até tu ter a lista de requisitos bem escrita e isso cara anos anos na área eu posso te dizer é muito difícil tu chegar com requisitos prontos na
primeira vez sério o sonho do programador é ter um o ticket com os requisitos bem escritos e é por isso que eu acho que o programador que tem experiência no mercado é tão cético quando dizem que a ia vai substituir o programador e o usuário final ou po PM vai usar ia para criar o código porque cara o usuário nunca alguém não técnico nunca sabe como Como encaixar o requisito no có no projeto existente nunca saber o que você quer do software de uma forma específica o suficiente para que o Code gen possa criar o
código é uma habilidade em si se você olhar meu exemplo acima eu não tinha uma noção Clara dos meus requisitos nem mesmo Qual linguagem usar em minhas conversas com amigos Engenheiros eles me disseram que pensar nos problemas até o ponto em que eles podem escrever prompts de code gen eficaz os ajuda a entender melhor seus próprios requisitos e o design necessário eles até têm scripts locais que os ajudam a escrever prompts mais eficazes antes de gastar dinheiro em ciclos de llm pô a galera tá em outro nível né Essas ias podem fazer mais do que
apenas criar código elas também podem entendê-lo se você está tentando se atualizar em uma base de código pode passar o código para o chatbot de ia e fazer com que ele diga como o código funciona se você não tem documentação confiável sobre o seu código interno o Code genen é uma bom atalho depois de ter as respostas você pode adicioná-las à sua base de conhecimento interna Deixa eu pensar o que que eu acho sobre isso aqui cara eu acho que é melhor usar uma ia para isso do que não fazer isso tá esse é é
o maior defeito que eu vejo quando os desenvolvedores mais iniciantes entram num projeto é que eles tentam entender o projeto como um todo eles vão navegando pasta por pasta tá ligado Então eu não sei se tu faz isso mas quando tu entra num projeto Ah e tu não tem muita experiência é meio que instintivo de tipo assim eu preciso entender esse projeto então eu vou abrir aqui as pastas do projeto e vou indo vendo o que que tem dentro de cada uma E aí eu vou classe por classe e cara tu só vai ficar perdido
confuso e não pegar contexto de funcionalidades ao meu ver o Como que tu deveria estudar um projeto e é por isso que eu acho que talvez esse approach de dar o projeto para Iá E fazer ela te explicar não vai ser tão eficaz quanto a forma que eu faço para aprender sobre um projeto novo normalmente o que eu faço é o seguinte cara Digamos que eu tenha uma tela e dentro dessa tela tenha componentes tá o que eu faço normalmente é eu escolho uma funcionalidade tá eu quero aprender sobre essa funcionalidade do projeto aí Eu
começo pela interface tá então como é que eu vejo os dados da onde que vem os dados Então a primeira coisa que eu faço é tentar observar o fluxo de dados que levou aquele componente tá sendo exibido na tela com esse fluxo de dados tu consegue encontrar por exemplo o Controller ou tu consegue encontrar onde que tá a lógica de navegação a lógica de fluxo de dados de mapeamentos de dados E aí quando tu encontra a lógica de mapeamentos de dados tu consegue encontrar por exemplo a camada de de serviço né Network service tu consegue
encontrar também por exemplo Talvez um use case se o projeto estiver utilizando aquele Clean code padrão um repository aí com o repository tu consegue por exemplo Ah como é que a gente faz para buscar na base de dados que base de dados a gente utiliza que tabela tá envolvida para mostrar esse componente aqui na tela então normalmente é assim que eu faço eu entro no projeto eu vejo uma funcionalidade e eu penso assim eu quero entender Como que essa funcionalidade funciona como que os requisitos que estão aqui estão sendo entregues outra coisa que eu faço
cara tu vai pegar aquele componente tu vai encontrar a linha de código daquele componente tá encontrou a linha de código daquele componente ou as linhas de Código Tu vai pegar e vai gerar um Git Blame então tu vai rodar o comando do Git que é o Git Blame E tu vai encontrar o hash do comit o hash do comit que fez aquela alteração no código encontrando o hash do Comet que fez a alteração do Código Tu consegue encontrar por exemplo o p request encontrando o p request tu consegue encontrar o ticket encontrando o ticket tu
consegue encontrar quem desenvolveu aquilo quem que escreveu os requisitos ah screenshots links para pro figma pro pra equipe de design e aí tu começa a entender o histórico daquele componente que tá na tela e eu sinto muito te dizer mas aá olhando o código do teu projeto e te explicando não vai te dar o overview o overview não vai te dar o conhecimento sobre aquela funcionalidade do que tu fazer o que eu tô te dizendo aqui tá então não cara eu acho que é seguinte entre não fazer nada entre não saber fazer isso aqui e
não saber analisar o projeto e ir pasta por pasta olhando os arquivos Ok vai lá vai vai lá e usa a inteligência artificial é melhor do que nada Vamos lá mas as respostas das ia não são não mas as respostas da ia não são totalmente confiáveis ser capaz de concluir um projeto de codificação mais rápido usando ia é ótimo mas isso não resolve certos problemas e introduz outros novos espinhosos alucinações é que eles vão falar né Por esse motivo os desenvolvedores têm sido lentos para confiar em chatbots de a em nossa pesquisa de desenvolvedores de
2023 apenas 3% dos entrevistados confiavam muito na saída de ferramentas de a não hoje em dia esse número já cresceu muito tá ligado Então eu vou ignorar essa parte que tá defasada há um ano né os ganhos reais virão da melhoria da organização como um todo não apenas do código mais rápido automatize sempre que possível Primeiro eles estão procurando automatizar todos os processos manuais que puderem eles automatizam seu pipeline de entrega de software com processo CCD eficaz que leva o código comprometido da construção ah a implantação como com o mínimo de esforço Compartilhe o conhecimento
em toda a presa o Stacker of Flow é um ótimo recurso de compartilhamento de conhecimento para perguntas Gerais de codificação mas para perguntas sobre uma base de código proprietária os desenvolvedores precisam recorrer aos seus colegas de equipe e aqui que vai a grande falha dos dos Juniors né de alguém que não tem muita experiência e eu tô falando isso para te ajudar que é não saber perguntar pra pessoa correta tá ligado tu vai se tornar muito mais eficaz não sabendo utilizar a ia cara mas sabendo isso aqui aqui tá ligado Então o meu medo só
é que vocês deleguem pra Iá essas questões de como descobrir como aprender sobre projeto e esquecer de desenvolver essas habilidades aqui porque no momento que tu delega PR Iá tu acaba não descobrindo como fazer isso aqui que eu tô te falando tá ligado pessoas primeiro tecnologia depois processos ruins são fáceis de detectar e vimos muitas pessoas reclamando sobre scom e a j cara imagina tu ter que fazer imagina ter que fazer uma Daily cara ah tá louco imagina tu ter que fazer uma da uma standup meeting ficar de pé mas esses processos foram criados para
melhorar a vida dos desenvolvedores então organizações bem-sucedidas garantem que o processo funcione bem Não que seja seguido rigidamente né ou rigorosamente Aqui empodere não microgerencia por fim organizações eficaz se concentram em permitir que seus desenvolvedores trabalhem em vez de monitorá-los e microgerenciamento né cara quanto mais reunião tu tem no teu dia menos para resolver um problema mais longe de resolver o problema tu tá tá ligado e às vezes tem empresas que faz reunião para ver a pauta da reunião para resolver o problema e eu espero que tu entenda que uma reunião de 2 horas na
verdade ela não ocupa 2 horas de um desenvolvedor né ela ocupa no mínimo 3 horas porque meia hora antes e meia hora depois ele vai est primeiro se preparando pra reunião mentalmente e depois se recuperando de estar numa reunião talvez porque Muitos programadores são introvertidos pode ser pode ser então produtividade é mais do que código código mais rápido criado por ferramentas de a pode ajudar indivíduos a serem mais produtivos mas ganhos reais virão da melhoria de toda a sua organização Você precisará saber o que está fazendo quando escreve código seja manualmente ou por meio de
code gen ou poderá estar fazendo mais mal do que eu acho que eu acho que esse artigo ele continua bem atualizado e embora seja de 2023 um artigo bem atualizado tirando ali a a questão do percentual de quanto programador quantos programadores Confiam numa Inteligência Artificial eu eu acho que o número é muito maior do que 3% hoje em dia deixa eu ver se eu até acho aqui os dados atuais uau cara na verdade a gente tá confiando menos meu aqui é stack overflow Survey de 2023 tá vamos ver aqui precisão das Ferramentas vemos desenvolvedores divididos
sobre a sua confiança na precisão da saída da cerca de 42% confio na precisão enquanto 31 estão em cima do muro isso aqui em 2023 tá altamente confiável 2,85 agora a pesquisa de 2024 desse ano altamente confiável 2,7 então caiu cara 0.1 0.15 pontos aqui um pouco confiável 39 e agora tá em 40 aí subiu nem confia nem desconfia 30% agora caiu para 26 um pouco de desconfiança eraa 21% agora subiu para 22 e altamente desconfi e desconfiado eraa 5% e subiu para quase 88% cara então interessante cara em um ano a gente começou a
ser mais céticos e a confiar menos na ia embora a ia tenha ficado mais inteligente a gente confia ainda menos mas Comenta aí embaixo cara tu confia mais ou menos na Inteligência Artificial gerando o teu código do que o ano passado sim ou não comenta aí confio mais ou confio menos
Copyright © 2024. Made with ♥ in London by YTScribe.com