Latest / Entre Chaves / #272 Arquitetura de software: o que sobra quando a IA assume o código
Transcript
- 0:00Está começando mais um entre chaves, o seu podcast de
- 0:03desenvolvimento de software. Meu nome é Luiz Fernando e eu
- 0:06estou aqui hoje com você, ouvinte pra uma pergunta bem
- 0:09simples e direta, a arquitetura de software morreu?
- 0:12AEA matou a arquitetura de software.
- 0:15Nós temos aqui 11 longa lista de argumentos pra gente poder
- 0:18discutir prós, contras, quem está a favor, quem está
- 0:22dissidente desse tão famoso tópico atualmente.
- 0:25E tenho aqui, junto comigo a host, que todos vocês conheçam
- 0:28em Fernanda. E aí, Luiz?
- 0:30E aí, pessoal? Pois é, tô bem animada com esse
- 0:32tema. A gente já falou muito aqui no
- 0:34entre chaves, né? De Arns de papel, né?
- 0:38Do desenvolvedor mudou. Só que hoje a gente vai olhar
- 0:40para esse todo, esse arcabouço de um lado específico da
- 0:44arquitetura de software, que eu tô bem, bem empolgada com esse
- 0:48papo de hoje. Bora lá, temos aqui o Jeff com a
- 0:51gente. Fala galera.
- 0:52Já f aqui. E o Pedro aqui também, e aí?
- 0:55Pessoal, tudo bom? Já pegando o gancho da
- 0:57arquitetura de software, morreu. O que que é que a gente até hoje
- 1:01aprendeu, entendeu? Estudou por décadas aí do que
- 1:04era arquitetura de software. Bebendo aí nas Fontes do ancobob
- 1:08do Eric Evans, né, que é o clássico do DDD, Martin Fowler,
- 1:12tantos outros. E como é que a IA impacta?
- 1:16O que a gente? Conhece como arquitetura?
- 1:18Não, já começava falando. A arquitetura de software
- 1:21morreu, já já começa um pouco difícil, mas o que a gente
- 1:23aprendeu, pelo menos quando eu comecei a programar, 10 anos
- 1:26atrás, quando eu comecei a desenvolver, é o arquiteto.
- 1:29Era aquela pessoa que chegava com 80 páginas, cheio, 1000000
- 1:33de coisas pra fazer, dava aquela série de requisitos e não
- 1:36acompanhava o código. E uma das principais mudanças
- 1:38que Eu Acredito que a IA vem trazendo é hoje.
- 1:41Não existe ou não deve mais existir, sendo até polêmico, um
- 1:45arquiteto que traz uma arquitetura e não acompanha a
- 1:48evolução do código. Toda vez que o código tá
- 1:50evoluindo, ele vem com a complexidade sintomática em cima
- 1:53ou dentro dele. Então, o arquiteto hoje o papel
- 1:56dele vai ser acompanhar também as decisões arquiteturais.
- 1:59Qual o trade off que tá acontecendo dentro de cada
- 2:02decisão e o que contribui para a evolução junto com AIA?
- 2:07É no fundo assim, né? Quando a gente falava de
- 2:10arquitetura, de software, a gente tinha um tanto de
- 2:12conceitos aí no meio do caminho, né?
- 2:15Que a gente falava de camadas, de inversão, de dependência de
- 2:19mappers, de interfaces, de desacoplamentos, enfim, 1000000
- 2:24de conceitos, né? Mexerica?
- 2:26Assim, o Luís te apresentou como Pedro, mas a gente te conhece
- 2:29muito aqui como mexerica, então vou usar a mexerica aqui no
- 2:32episódio. Mas é o fato é que esses vários
- 2:35e vários conceitos eram extremamente importantes pra
- 2:38gente garantir que aquele código funcionava bem pra gente ler e
- 2:43pra gente dar manutenção, né? Só que isso talvez tá gerando
- 2:47complexidade pra ir atuar dentro dos nossos códigos, né?
- 2:51Não só complexidade como custo, né?
- 2:54Então é esse que é o negócio todo aqui desse episódio, né?
- 2:58Eu concordo com muito que você falou Fernandinho, mas 11 coisa
- 3:01que a gente tem que trazer? AEA aprendeu muito com papers de
- 3:05mercado e papers pra arquitetura traz complexidade tudo que ela
- 3:09traz é a eu quero usar DDD, será que vai realmente ser aplicar no
- 3:12seu projeto eu quero usar 20 drive será que realmente vai se
- 3:16aplicar no seu projeto criar que hoje é mais dependência e mais
- 3:21burocracia do que um contexto isolado?
- 3:24Microsserviços, eu tenho que começar com microsserviços ou
- 3:27com. Um monolito da vida, o que que
- 3:30vai me atender mais? E antes até trazendo o contexto
- 3:33da IA e o que Eu Acredito que AA IA é uma principal potência no
- 3:37sentido de hoje conseguimos executar as coisas mais rápido.
- 3:41No passado, o arquiteto, ele tinha que fazer uma configuração
- 3:44de uma gestão de arquitetura de 80 páginas.
- 3:47Pegando um gancho que eu falei anteriormente, por quê?
- 3:50Porque ele tinha aquele tempo pra fazer arquitetura e em
- 3:53nenhum momento se ele não começasse com algo.
- 3:56Que fosse escalável o suficiente, conseguiria ser
- 3:59adequado. Hoje a gente vem atuando com
- 4:01algo que com IA. Será que eu posso começar
- 4:04pequeno e evoluindo gradativamente pra cada padrão,
- 4:07pra cada coisa que atenda? A evolução da minha aplicação.
- 4:10Tem um negócio muito interessante ali que o Jeff
- 4:12falou em relação aos intervatos. Para mim é o é o exemplo mais
- 4:15clássico assim, né? Que eu imagino que todos vocês
- 4:18devem ter passado ou se não passar, não conhece alguém que
- 4:21passou, que é basicamente aquele negócio assim, Ah, eu vou
- 4:23colocar lá uma interface no meu repositório do com o meu banco,
- 4:27por exemplo, que eu quero mudar a minha URM ou eu quero em algum
- 4:31futuro distante. Eu preciso desacoplar tanto que
- 4:34eu porque eu vou mudar o banco de dados, cara.
- 4:37Assim, quantas pessoas você já conhece que precisaram de fato
- 4:41mudar o banco de dados? EE, pra mim, assim, a gente
- 4:44consegue fazer esse negócio muito mais simples, porque
- 4:47refaturar é muito mais simples também.
- 4:49Então você destrava umas coisas que antes, às vezes, não era
- 4:52possível. Pô, eu vou colocar aqui a
- 4:54interface. Porque eu quero, né, diminuir
- 4:57esse risco no futuro, né? Quero mitigar esse problema de
- 5:00no futuro, se eu precisar trocar, não está tudo acoplado.
- 5:03E aí eu vou ter muito mais trabalho, só que agora e ela
- 5:06tira, né? Esses riscos, ou pelo menos ela
- 5:09diminui e a refaturação é infinitamente mais simples, ou
- 5:14seja, você tem muito mais incentivo a começar mais
- 5:17simples. Eu lembro a primeira vez que eu
- 5:20propus arquitetura hexagonal. Pro cliente ele aprovou, até
- 5:24hoje eu pago isso que a gente tá falando lá.
- 5:26Quero fazer tal coisa, tenho que criar um case, fazer um
- 5:28interfácil, implementar, trabalhar com DTO de request,
- 5:31processar isso, fazer o Mac pra depois bater lá no meu banco com
- 5:35A Entidade domínio converter, voltando nossa pra ter a
- 5:38disponibilidade. Se eu precisar trocar o banco eu
- 5:40só vou mexer aqui ó, nessa classe de repositor e que o
- 5:44Regis to não precisou, não precisou trocar.
- 5:47E ainda uma coisa muito importante pra gente falar
- 5:50também hoje a ela lê texto, ela vai ler o código, ela tem um
- 5:55conhecimento naquilo. Mas muito quando a gente fala de
- 5:58de clean Arc, existe uma coisa, injeção de dependências, muita
- 6:02injeção de dependência, vai acontecer em um time.
- 6:05E se ela não leu, ela não entende.
- 6:07Logo, ela não é eficaz quando ela tá atualizando, evoluindo o
- 6:11meu. Código sim, tem até o dado aqui,
- 6:13né? Dum paper foi publicado sobre o
- 6:15cloud code. Que ele só consegue conseguir
- 6:19identificar, em várias aplicações analisadas, 76% das
- 6:23ligações com com gestão de dependência.
- 6:27Então, a cada 4 vezes cada 4 tentativas do Cláudio cod um,
- 6:31ele falhou. Justamente ele não conseguir
- 6:33perceber essa conexão, né? Porque quando você tem injeção
- 6:36de dependência, em vez de você ter o alto nível, dependendo do
- 6:40baixo nível, os 2 dependem da abstração.
- 6:42Só que isso só acontece em rentime igual você falou o como
- 6:45essa ligação não existe no código OA IA não consegue
- 6:48entender IA, você perde um dos princípios do iagni, né?
- 6:51O iagner e o e o Wang go na meet, né?
- 6:53Você não vai precisar disso. Um dos princípios do iagni é que
- 6:56você nunca abstrai no primeiro uso, você abstrai no segundo.
- 6:59Então assim, eu fiz uma coisa, Ah, eu acho que alguém precisar,
- 7:03não importa, você não vai abstrair quando alguém precisar,
- 7:06que segunda pessoa vai precisar daquilo ali.
- 7:09Aí vocês traem? É justamente porque a gente
- 7:12sempre acha que a gente, né? A gente sabe qual é a evolução
- 7:14do projeto, mas a gente também sabe o quanto é complexo e o
- 7:18quanto é, né? Mundo vuca muda o bane que a
- 7:21gente vive no sentido assim. De que às vezes o negócio ele
- 7:24até tá No No nosso road map mental muito em breve, só que às
- 7:29vezes esse negócio nunca chega mesmo, então você querendo ou
- 7:32não tá adicionando complexidade. E sabe uma coisa que é que é
- 7:34interessante? Muitas vezes, o que você tem
- 7:36medo? Ele realmente vai acontecer, mas
- 7:38daqui a 3 anos. EE aí quando?
- 7:41Você viver 3 anos com aquele negócio, né?
- 7:43E quando? Você abstraiu lá atrás, há 3
- 7:44anos atrás, sua situação era outra e muitas vezes a abstração
- 7:48se referiu ali, não era exatamente o que era que vai
- 7:50precisar. E vai mais te atrapalhar do que
- 7:53te. Ajudar isso.
- 7:54E aí, assim, o que acontecia? Assim é que você, poxa, eu vou
- 7:58fazer a arquitetura mais perfeito.
- 8:00Porque se eu chegar daqui 1 mês e falar, nossa, preciso
- 8:04refaturar. Algumas pessoas olham refaturar
- 8:06como algo assim, nossa, estou perdendo dinheiro.
- 8:09Mas assim, se você faz mais simples, olha só esse exemplo,
- 8:13você ficou 3 anos. Fazendo vários arquivos a mais,
- 8:16quanto que você economizaria nesses 3 anos se.
- 8:19Se colocar na ponta do lápis, né?
- 8:21Pode ser que você já economizou só de ter feito mais simples no
- 8:24início, né? E coia.
- 8:26Quantos tokens você economizou? Coia hoje o que você tem, muito
- 8:30menos arquivo e pasta para ler. Exatamente agora.
- 8:33Esse esse assunto todo, gente de dos arquitetura do software,
- 8:36morreu e tudo mais. Eu comecei a pensar nisso.
- 8:39Foi justamente com você, Michele, que alguns meses atrás
- 8:42que você falou assim comigo, olha, eu tô começando um projeto
- 8:44aqui, mas eu tô começando com uma arquitetura extremamente
- 8:47simples, porque eu acho que assim a ya vai até performar
- 8:50melhor. E aí isso desbloqueou essa
- 8:53discussão pra mim assim, e foram alguns meses atrás, né?
- 8:56E assim, no final das contas, eu queria fazer essa pergunta pra
- 8:59vocês agora que é? Estou começando um projeto novo,
- 9:04então, se eu não tenho que fazer trazer os os conceitos de clinar
- 9:09que ou trazer esses outros esses conceitos mais complexos, o que
- 9:12que é mais importante que um arquiteto de software pense
- 9:15quando ele agora tá começando um projeto novo só?
- 9:18Antes de vocês responderem, vou pedir desculpa pelo início do
- 9:21episódio que eu cogitei que a IA matou a arquitetura de software.
- 9:24Foi o mixerica. Então me desculpa, foi o
- 9:27mexerica. Quem matou a arquitetura de
- 9:29software? É bom a gente ponderar alguns
- 9:31pontos assim, a gente não está falando também pra gente remover
- 9:35e remover todos os conceitos e vamos chamar tudo direto, todas
- 9:38as camadas direto, et cetera. Como arquiteto, você avalia
- 9:41várias, várias variáveis, né? Não só técnicas, mais
- 9:44econômicas, tempo, et cetera, né?
- 9:46Então é importante sempre que você for tomar as decisões, você
- 9:49olhar várias variáveis, né? Inclusive em tempo, né?
- 9:52É. Muito legal, né?
- 9:53Eu estou. Estou reassistindo Dark.
- 9:54E o passado sempre fala muito do futuro.
- 9:57Só que a gente tem que reinventar o papel.
- 10:00Anteriormente, principalmente por ser humano, o nosso vício
- 10:04era nossa. Eu passei por 111, projeto muito
- 10:07complexo que realmente eu tive que usar.
- 10:09Esse parto aqui me ajudou. Então a tendência de iniciar um
- 10:13projeto novo é não, já vou iniciar com isso.
- 10:16E gerava essa abstração que o Luiz trouxe, que eu vou pagar
- 10:18essa dívida por 3 anos, pra quando realmente eu precisasse
- 10:21usar, o tempo seria menor, eu não vou carregar tanto tempo
- 10:25desenvolvendo diante disso, a visão da arquitetura atual.
- 10:30Que eu defenderia é se baseie nos princípios revisite o que
- 10:33está aí também há muito tempo sendo dito, por exemplo, quem
- 10:36sou eu, né? Mas Eu Acredito que o solid
- 10:38chegou nos dias. A gente precisa mais daquela
- 10:40sopa de letrinha inteira. A gente precisa saber bem os
- 10:44princípios de injeção de dependência, mas.
- 10:47O yagner vamos manter tudo simples.
- 10:49Só quando chegar o segundo momento que eu vou pensar em
- 10:51refaturar muitas coisas de clear, que é muito defor e que
- 10:55aya vai executar bem porque Ela Foi treinada em cima desses
- 10:59modelos, eu recomendo que eu utilize, mas isso a gente vai
- 11:01conseguir com testes e também com o nível de maturidade e
- 11:05eficiência, aí agora vinculando a ao harner, eu vou ter o guia
- 11:10que vai ser. Se eu chegar hoje e dizer olha,
- 11:12abri aqui, agora o Cláudio coloco lá o modo, o modo Tim,
- 11:15que digo olha. Gostaria de começar um projeto,
- 11:17vou começar com o micro serviço, ela tem uma viagem de
- 11:20confirmação muito forte, mas é isso, vamos fazer com o micro
- 11:23serviço aqui. Uma coisa que eu tô tentando
- 11:25quebrar agora é, deixa eu desenhar essa solução, deixa eu
- 11:28falar em voz alta, deixa eu ver se isso aqui realmente quantos
- 11:31tokens eu vou gastar, quanto tempo eu vou levar para
- 11:34implementar isso, o quanto que eu vou acumular de dívida
- 11:36técnica é o que me faz seguir para uma arquitetura modular,
- 11:41para um micro serviço, para um monolito.
- 11:44Inclusive, antes da IA estourar a discussão era, para que micro
- 11:48serviço? Todo mundo está tendenciando a
- 11:51votar monolitos e agora acredito que está mais forte ainda.
- 11:54Está para conversar bem acoplado, com tudo funcionando o
- 11:57local e se necessário, a gente faz o módulo e escala.
- 12:01É, você falou. Aí um ponto é a gente se atentar
- 12:05ao conceito de fato, né? Pra pra que que existe arquiteto
- 12:09e et cetera, né? Por exemplo, quando você vai
- 12:12aplicar uma interface, et cetera, né, você quer na verdade
- 12:15fazer um encapsulamento, fazer a modularização.
- 12:18Então pensa no conceito, você pode ter seu né arquiteto e com
- 12:225 arquivos, 3 arquivos, né? Um arquivo da controler que seja
- 12:26um arquivo lá de de serviço que vai encapsular regra de negócio
- 12:29de repositório. Perfeito.
- 12:31Se você quiser tirar o domínio, você coloca uma camada anti anti
- 12:35corrupção para Oo domínio da API que você está chamando não ser
- 12:38impactado, né? Pelo meio da aplicação.
- 12:40Mas assim você conseguiu fazer a mesma coisa com menos arquivos,
- 12:44né? Muitas vezes a gente.
- 12:45Fazia mais pelo. Padrão do do do cliente por dar
- 12:48continuidade. Todo mundo já conhece etcétera,
- 12:50só que agora isso é tudo num tema muito importante.
- 12:52O que a. Gente estava comentando no
- 12:53começo que é a diferença entre. A teoria, os conceitos do que é
- 12:58a arquitetura limpa, ODDDEO que é na prática, é como isso foi
- 13:02sendo implementado ao longo do tempo.
- 13:03Acho recai muito nisso aqui, porque se a gente parar pra
- 13:06pensar nos conceitos, o que que é a parte importante, mesmo que
- 13:10a gente não pode abrir mão. Primeiro é uma definição clara,
- 13:13objetiva, bem feita, de modelo, com contextos pequenos, bem
- 13:17definidos, bem subdivididos, tem uma linguagem umbíqua, bem
- 13:21forte, bem estruturada e está realmente ligado com.
- 13:25Um modelo de negócio e que é a definição clara dos limites.
- 13:27Igual você acabou de falar, não vou ter minha API, eu vou ter
- 13:31minha camada de negócio aqui que é meu domínio meio, vou ter uma
- 13:33camada de infraestrutura aqui que vai ter o meu repositório,
- 13:36minha persistência e tal. Tendo essas 3 coisas muito bem
- 13:40definidas, como você vai implementar, aí já começa a
- 13:43ficar fácil de variar. E, por exemplo, se a gente
- 13:45mantém a linguagem ubíqua forte, presente na modelagem, presente
- 13:51no seu projeto, você garante, Oo que você está implementando, tá?
- 13:55Está alinhado com o negócio, está alinhado com o modelo, está
- 13:57tudo ali permeando. Então acho que são os 3 pontos
- 14:01que a gente não pode abrir mão. Isso me lembrou de testar uma
- 14:04próximo item em um projeto que é um tema que vem se falando muito
- 14:07divertical Slice esse modelo que a gente fala, né?
- 14:10Controllers e case reposito e é bem usado sistemas de
- 14:13informações em geral. Se você vai um pouquinho ali
- 14:16para o lado em em jogos, né, você tem uns módulos mais auto
- 14:20contidos por domínio, né? Por funcionalidades em si.
- 14:22Então Eu Acredito que isso vai casar muito bem com AIA, porque.
- 14:26Quando você está falando de autenticação, você quer dar um
- 14:28contexto, etc, você arrasta a pasta de autenticação, ele só
- 14:32precisa cuidar daquilo ali, não precisa tratar de de produto,
- 14:35etc. Às vezes ele vai ler, né, por
- 14:37proximidade, né? Ele vai ler coisa de produto, de
- 14:39de carrinho, né? Se tratando de um ecommerce, né,
- 14:42o vertical slife, eu acho que é um bom teste já a se fazer.
- 14:46Sim, você diz que é basicamente assim, né?
- 14:48É eu ter contextos muito bem definidos dentro do meu projeto.
- 14:52Em que os contextos eles têm limites muito claros entre si e
- 14:57a provavelmente AMLLM. Quando ela está construindo
- 15:00sobre carrinho, ela não precisa saber sobre o usuário, é mais ou
- 15:03menos. Isso, né?
- 15:05Você normalmente na arquitetura mais comum que a gente tem, no,
- 15:08no nexagonal, na clean arquitect.
- 15:10O que que você faz? Você tem uma camada de API.
- 15:13Por exemplo, dentro da API você você subdivide no seu modelo, no
- 15:17meio você tem um projeto com uma camada de domínio.
- 15:21Domínio, você sub divide igual eu IA falar carrinho, produto,
- 15:23não sei o quê. Você tem um outro projeto
- 15:25separado, que esse projeto é o de persistência de dados, e lá
- 15:29se subdivide o vertical lá, se não isso tem um projeto único,
- 15:33esse projeto único. Você põe uma pasta carrinho lá
- 15:36dentro, dentro dessa pasta carrinho você tem.
- 15:39O controle é da PI lá dentro, o outro arquivo, que é a regra de
- 15:41negócio. Lá dentro do modelo, o outro
- 15:43arquivo que é a persistência dele lá dentro.
- 15:45Um projeto único com uma pasta. E está tudo dentro dessa pasta.
- 15:48Você não tem as camadas. Separadas?
- 15:50Que faz todo o sentido, né? Já que a gente o nosso principal
- 15:52desafio com AIA ainda é o contexto, né?
- 15:55E a gente conseguir filtrar o suficiente nosso contexto para
- 15:58que AIA consiga ter o melhor, o contexto mais otimizado para
- 16:01aquele momento, para atuar corretamente.
- 16:04Parece que esse tipo de de arquitetura é que faz mais
- 16:06sentido. É isso que o pessoal tem.
- 16:07Tem alegado muito, que quando você trabalha trabalhando com
- 16:10Oya e você tem o vertical sly, sim.
- 16:12Você vira para Oya e fala, eu quero implementar alguma coisa
- 16:14de produto. Ela vai dentro da pasta de
- 16:15produto e tudo que ela quer está ali.
- 16:17O máximo que ela vai olhar é uma pasta cherd que você colocou ali
- 16:20fora, que tem alguma coisa comum.
- 16:22É o máximo que ela vai olhar ali, mas ela vai olhar tudo que
- 16:24ela precisa ali dentro. Teve um negócio que você falou
- 16:26mais cedo, Jeff, em relação a ao harns, que eu acho que também é
- 16:30um é interessante da gente. É falar um pouquinho, né?
- 16:34Porque até agora a gente falou, bom, parece que esse vertical
- 16:36Slice é uma boa possibilidade, né?
- 16:38Outra coisa que vocês falaram é usar a base do clinark, mas
- 16:42tendo muito, muita consciência do que aplicar, tirar as coisas
- 16:46que realmente não precisam. Esperar a dor acontecer 2 vezes
- 16:50para eu abstrair, né? São todos os conceitos aí que
- 16:53vocês foram falando de coisas importantes que o arquiteto de
- 16:56software hoje precisa, né? E eu queria te adicionar mais
- 16:59uma coisa. Que é em relação ao harners
- 17:02assim, e agora em relação aos Gates, né?
- 17:05Porque no final das contas, Oo harners.
- 17:07Ele tem muito a ver com os guias e os sensores, como você bem
- 17:09falou. Mas se eu tenho sensores que por
- 17:12exemplo é ficam validando a arquitetura do meu projeto, ou
- 17:16seja, né, elas ficam validando os limites.
- 17:18Se eu não a implementei uma regra de banco lá na camada de
- 17:23apresentação, sei lá, e eu tenho esse tipo de teste automatizado
- 17:26para ou eu tenho essa regra muito clara no meu sensor?
- 17:31Eu já não. Talvez eu não precise tanto de
- 17:33uma arquitetura tão verbosa para evitar esse tipo de coisa.
- 17:38Né? Eu eu concordo 100% que você
- 17:40falou, mas hoje talvez seja muito pelo menos o que eu tenho
- 17:44vivenciado na DT é um pouco diferente.
- 17:46É? Normalmente eu atuo em projetos
- 17:48já existentes, então. É e esse é um.
- 17:50Outro grande desafio, o que a gente tem feito de harners lá é
- 17:54colocar guias bem definidos, então agora a gente tá correndo
- 17:57atrás. Antes de começar o episódio, eu
- 17:59tava conversando até com mexerica aqui a gente tava
- 18:02trocando uma ideia no ponto de olha, agora a gente vai colocar
- 18:05todas as decisões arquiteturais que a gente tomou, porque assim,
- 18:08deixa eu dar um passo atrás. AI, AI, é muito funcionário do
- 18:11mês, sabe? Ela vai dizer, olha, encontrei
- 18:13essa divergência aqui, resolvi, tá, não, esse trade off eu tinha
- 18:17tinha assumido há muito tempo. Então quando eu começo a trazer
- 18:20para ela todas as decisões arquiteturais e as razões,
- 18:23problemas que eu quis resolver e porque eu quero conviver com
- 18:26aquilo. Até, por exemplo, olha, eu vou,
- 18:30não vou trocar o banco de dados, então minha tabela de domínio,
- 18:32eu vou acessar aquela informação ali direto mesmo, meu reposito,
- 18:36ele vai bater lá, porque eu não vou trocar o banco.
- 18:38Daqui a 3 anos, se virar um problema, essa misturação vai
- 18:41ser simples de atuar, então você não precisa resolver isso.
- 18:44Porém, isso vai conflitar diretamente com o guia.
- 18:47Eu não posso ter 2 pesos, 2 medidas no meu sensor.
- 18:50Dado que o meu guia é olha, siga o padrão do projeto para
- 18:54realizar a construção de um novo módulo, ele vai entender que eu
- 18:58tenho um módulo de vendas e agora eu quero fazer um módulo
- 19:00de estoque. Ele vai se basear no módulo de
- 19:03vendas para poder popular o meu módulo de estoque, dado que ele
- 19:07começou a executar e agora tem uma divergência, e o meu sensor,
- 19:11ele não vai ser efetivo. Então eu tenho que ter muito
- 19:15claro a decisão atual. Olha, acabei de tomar uma
- 19:17decisão. Essa aqui é minha Dr. Estou vai
- 19:20acionando junto. Esse vai ser meu guia que vai
- 19:22direcionar. A partir de agora, isso aqui
- 19:24será o novo e eu vou voltar e faturar esse meu débito técnico.
- 19:27E isso que você pegou é também uma coisa muito importante.
- 19:30Não sei se algum de vocês já teve a chance de ler.
- 19:32É um livro que eu li recentemente, chama arquitetura
- 19:34de software. As as partes difíceis.
- 19:36Os autores estavam escrevendo um livro sobre arquitetura de
- 19:39software, um livro padrão normal, e aí eles foram pegando
- 19:42vários exemplos de que eles viram na carreira deles.
- 19:45E na hora eles iam tentar encaixar no livro, eles ficavam
- 19:47assim, Ah, não está, está está complexo, está difícil, não, não
- 19:51dá para explicar direito, jogava de lado.
- 19:53Depois que eles terminaram o livro, eles olharam e falaram
- 19:55assim, escreveram um livro sobre esses, esses projetos, esses
- 19:59exemplos que eles largaram de lado, fizeram a pilha, por quê?
- 20:02Porque eles estavam mostrando justamente na prática, falou,
- 20:04olha, quando você está começando a estudar arquitetura de
- 20:06software, você estuda muito o Ah, isso funcione, isso não
- 20:09funcione, isso é, isso é errado. Só que na vida real é um grande
- 20:1320000000 de tons de cinza, a arquitetura que não é.
- 20:16Se isso vem certo e errado, a arquitetura é um conjunto de
- 20:18trade offs, não existe a arquitetura perfeita, a
- 20:22arquitetura linda. Mesmo se você pegar um projeto
- 20:24específico, vão haver trade offs.
- 20:27Você vai ficar limitado pelo tempo que você tem, pela
- 20:30estrutura que você tem, pelo dinheiro ou pela equipe do
- 20:33cliente que depois ele vai manter isso.
- 20:35Eu disse, pô, eu vou criar um isso aqui estado da arte, vou
- 20:37criar um micro serviço, sei o que tal, às vezes o cliente tem
- 20:40um cara de DevOps. É como é que vai manter uma
- 20:42estrutura de micro serviços? EEE de com balanceamento.
- 20:46A arquitetura de software é um conjunto de trade Office.
- 20:49Só que muitas vezes esses trade Office, o que tá na cabeça de um
- 20:53humano é muito. Difícil da IA?
- 20:56Conseguir ter mesmo ali de raciocínio e mesmo entendimento.
- 20:58Então isso que você falou do dos trade Office, eu IA falar assim,
- 21:02Ah, eu corrigi isso, não sei o que dizer não, não é para
- 21:04corrigir isso aí, tá aí de propósito.
- 21:06Então eu quero isso aí, essa questão da da arquitetura de
- 21:08software. Eu acho que a IA, por melhor que
- 21:11ela seja, por mais que a gente dá direção e tal, o papel do
- 21:15arquiteto eu acho que nunca vai morrer.
- 21:17Esse é o papel, eSIM, o arquiteto.
- 21:19Ele pode cada vez mais usar a IA para ajudar ele a automatizar a
- 21:24parte do trabalho dele. Mas essa interferência do
- 21:26arquiteto ter que olhar, ter que entender o arquiteto, ter que
- 21:30conhecer DDD, conhecer crina, arquitecture, para ele conseguir
- 21:35julgar o que a IA tá mandando para ele.
- 21:37Isso eu acho que não vai acabar nunca.
- 21:39Mas só só voltando um pouquinho, Luiz, na sua fala aqui que eu
- 21:42queria polemizar um pouquinho, né?
- 21:44Já que Oo título, né? Do nosso episódio aqui.
- 21:47O tema principal do nosso episódio é sobre a morte ou não
- 21:50da arquitetura. E eu queria polemizar um
- 21:52pouquinho, trazendo outro ponto que eu entendi totalmente, né,
- 21:56ainda existem trade offs, ainda existem decisões que quando você
- 22:00vai vendo, você vai planejando. Você ainda precisa guiar, né?
- 22:04Para onde a IA está indo? Mas se a gente pensa no limite,
- 22:07em que sdd é a metodologia que vem cada vez mais predominando,
- 22:12ou seja, em que a especificação ela é mais forte que o código,
- 22:16né? Ou seja, AO requisito do negócio
- 22:19ele é mais forte do que de fato o código que está implementado,
- 22:22o código implementado, ele vem se tornando cada vez mais
- 22:24barato. Será que não vai chegar um
- 22:26limite em que e a gente aqui já falou entre as chaves várias
- 22:29vezes, em que eu vou poder jogar.
- 22:31Fora o meu código com muita frequência.
- 22:34Ou seja, o que que isso significa?
- 22:36Que talvez a arquitetura vai ser momentânea, temporária também,
- 22:42assim como o código. E o que vai pegar mesmo é o meu
- 22:45requisito de negócio. Aí hoje ele vai ser implementado
- 22:48com o clinark com, sei lá, né, react no front end e DOT net no
- 22:54back. E amanhã eu nem tenho isso mais.
- 22:57Eu tenho um monolito pronto, todo mundo em node e.
- 23:00E nem tenho essa divisão de camadas mais porque eu joguei
- 23:03fora. O que eu fiz aí?
- 23:05Claro, né? Assim tem.
- 23:06Vamos né? Levar todas as considerações em
- 23:08onde, onde estamos agora? Me parece que isso sendo
- 23:11totalmente verdade o que eu tô falando, a arquitetura de
- 23:14software vai morrer mesmo. Quando a gente chegar em um
- 23:17momento que a IAB extraiu a tecnologia, nós vamos sempre ter
- 23:22o que o arquiteto vai estar defendendo ou deveria estar
- 23:24defendendo, que são princípios testabilidade, escalabilidade.
- 23:29As perguntas que a IA não faz se você pedir agora para ela trocar
- 23:31de DOT net para Java, você dá um entrar lá agora no Cláudio barra
- 23:36gol troca de DOT net para Java. Ela só vai parar quando aquilo
- 23:39tiver migrado, porém ela não vai saber o porquê aquilo foi
- 23:43migrado. Como aquilo tá me garantindo
- 23:45mais eficiência, escalabilidade, como aquilo ali tá me fazendo
- 23:48mudar ou porque esse benefício tá sendo feito.
- 23:51E eu lembro que há muito tempo atrás ou há 2 anos, já que a
- 23:55gente tá vivendo na área da IA. A gente antes vendia times pra
- 23:58um cliente que ele defendia AA estrutura interna que é.
- 24:02Olha, essa arquitetura aqui que você está trazendo em gol é
- 24:06perfeita, mas o meu time conhece o DOT net.
- 24:08A gente você vai ter que trazer isso aqui pra DOT net, porque a
- 24:11gente que vai ter que dar manutenção.
- 24:13Só que agora o trade of que o arquiteto vai fazer é pra
- 24:15quantos usuários? Isso aqui tem que escalar.
- 24:18Então ele vai começar a se envolver cada vez mais na Infra.
- 24:20Quais os guias que eu vou aplicar para garantir que essa
- 24:23funcionalidade permanece igual, igual independente da
- 24:27tecnologia? Quais princípios eu vou
- 24:29continuar mantendo? O que a gente vai ter é o
- 24:31arquiteto de software, que é olhando aquilo e vai ter 11
- 24:35visão ideal naquele momento que é.
- 24:37Ele vai tomar a decisão rápida, com base na experiência.
- 24:40Ele vai aquilo e vai dizer, nossa, esse caminho a gente pode
- 24:43seguir, porque isso vai garantir.
- 24:45Esses 5 checklist aqui, escalabilidade, segurança,
- 24:49testabilidade, evolução Futura, minha Infra.
- 24:53Ele vai garantir tudo isso? Talvez vai morrer.
- 24:56Aquele arquiteto que defende Java defende o datinete porque
- 24:59todo mundo aqui só conhece o datinete.
- 25:01Isso já é ultrapassado, mas essa pessoa que vai garantir os
- 25:04princípios, isso aqui vai atender. 1000000 de pessoas na
- 25:07Black Friday essa pessoa ainda vai se tornar muito relevante
- 25:10porque ele sabe o caminho das pedras.
- 25:11Eu julgo até dizer que o papel do arquiteto de software, ele já
- 25:16estava morrendo há uns 2 anos, 3 anos atrás, porque o que a gente
- 25:20discutiu aqui sobre códigos padrões dentro do projeto, isso
- 25:25já vem sendo abstraído pelos tech leads e acaba que o papel
- 25:28do arquiteto. Com tanta tecnologia diferente,
- 25:31com tanto serviço de nuvem, com tanta tecnologia, né, minha
- 25:35arquitetura distribuída, et cetera, o papel do arquiteto se
- 25:38ocupa mais em alinhar as decisões técnicas, não, não a
- 25:42nível de projeto, mas a nível a nível macro, né, da solução em
- 25:46si, né? E aí que que eu fui entender o
- 25:48que que era a diferença, né? Que eu ficava olhando assim, né,
- 25:50no LinkedIn, Ah, fulano é arquiteto de software, fulano
- 25:53colocou que é arquiteto de soluções, aí tipo assim, fulano
- 25:57colocou que é arquiteto corporativo.
- 25:59Aí eu conseguiria limitar 2 pontos, né?
- 26:02Essa parte de arquiteto de software que, na teoria.
- 26:05Desde 2000, e. 14 eu sou arquiteto de software, mas de 14
- 26:10a 19 eu foquei muito na parte de de software em si, de 19 para
- 26:14frente, que aí eu consegui entender o que que era o
- 26:17arquiteto de soluções. Esse vai persistir bastante, né?
- 26:20Esse? É o cara que consegue conectar a
- 26:23diretoria com com o stakeholders, com com a parte
- 26:27técnica, né, da, da, da sua empresa, os desenvolvedores
- 26:31etcétera esse esse papel é de Extrema importância, né?
- 26:34E vem muito assim com que eu questionava de de big text, por
- 26:38exemplo, em big text geralmente você tem o software enginer, né?
- 26:42Sênior software enginer, né, o Júnior, o media level, etcétera
- 26:46e assim, arquitetura é um tema compartilhado entre todos, não
- 26:49fica só na. Debaixo do braço de uma pessoa
- 26:52ou ao arquiteto de software? Por isso que eu acho.
- 26:55Que há tempos a arquitetura de software vem morrendo e vem
- 26:58sendo diluída, entre outros. Cargos galera.
- 27:03O mexerica me convenceu. A arquitetura de software
- 27:06morreu. Eu concordo com essas coisas, tá
- 27:07que vocês estão falando? É, eu só acho que assim aqui Eu
- 27:10Acredito que é. Esse é o retrato atual mesmo
- 27:13assim. Mas o ponto é que estamos
- 27:15caminhando cada vez mais. Para um cenário em que a gente
- 27:20revisa cada vez menos código e que o código é cada vez menos
- 27:23importante, eu concordo que o custo continua sendo importante,
- 27:26então a utilização de custo vai continuar sendo importante, mas
- 27:29é, é isso, assim, eu acho que é o retrato atual é esse mesmo,
- 27:33né? Concordo muito com vocês, mas
- 27:35não sei qual é o retrato futuro. Assim, sendo bem sincera, não
- 27:37sei qual é o retrato futuro, mas uma coisa eu eu eu tenho
- 27:40convicção, esses guard railes e o jeito que a gente precisa
- 27:45fazer para que AIA seja cada vez mais assertiva é.
- 27:48A gente ainda precisa trabalhar nela, né?
- 27:50EE, nisso ainda vai ter trabalho por um bom tempo, que é da gente
- 27:54ficar o tempo inteiro alinhando e realinhando os nossos agentes
- 27:57para produzir as coisas que a gente precisa, né?
- 28:00E isso ainda vai precisar de pessoas.
- 28:03Que trabalham tecnicamente, mas não só isso, mas que também
- 28:06tenham visão de produto, como o micherica falou aí do arquiteto
- 28:08de solução, né? Que consiga comunicar com com a
- 28:11diretoria, com o stakeholder e consiga ter esse trânsito
- 28:14técnico e negócio. Então essa pessoa, eu acho que
- 28:17ela realmente continua por bastante tempo, né, fazendo seus
- 28:21trade offs e tal, mas talvez esses trade offs são
- 28:24modificados, como vocês mesmos mesmo falaram, né, que ele não
- 28:27tá mais na no design, talvez da minha, do meu software, né?
- 28:32Mas sim, nesses outras, nesses outros desafios organizacionais
- 28:36de colocar um produto em produção, que ainda vão
- 28:39continuar existindo por muito tempo, né?
- 28:41E esse desafio de colocar em produção é o desafio mais
- 28:44complexo mesmo, né? Não só de colocar, né, porque
- 28:47quando a gente coloca em produção que começa de verdade,
- 28:49o desafio é colocar, manter. É crescer um produto, né?
- 28:53E isso vai continuar. Esses desafios organizacionais
- 28:57é, eles vão continuar existindo. Né?
- 28:59Então isso ainda vão precisar de pessoas com esses perfis, né?
- 29:03Que navegam bem aí nas 2 coisas é eu.
- 29:05Costumo dizer com o pessoal mais próximo assim, né, que enquanto
- 29:09a gente tiver problema de dinheiro, de recursos, de
- 29:12hardware, vão precisar de pessoas pra ir ajustando, né?
- 29:15Quando isso não for mais o problema, a gente vai chegar
- 29:18naquele estado, né? Que Ah, não gostei, faz de novo,
- 29:21não gostei, faz backup, quero dessa forma agora, mas.
- 29:25Imagino que por muitos anos você ainda vai ter as limitações, né?
- 29:29De financeira, de tempo, de de credibilidade, de confiança, né?
- 29:33Você vai subir uma alteração 100%, né?
- 29:36Com conha sem se ligar para arquitetura etcetera.
- 29:39E se ocorre 11 falha, um vazamento etcetera.
- 29:43Enquanto existirem esses riscos, vão ter pessoas para mitigarem
- 29:48os mesmos. Pois bem, minha sorte que o papo
- 29:50hoje foi muito bom. Queria agradecer a mexerica,
- 29:53agradecer o Jeff Fernanda e você que está aí ouvindo a gente, me
- 29:57diz que que você acha papel do arquiteto.
- 29:59Morreu aí a matou. O papel do arquiteto ou foi
- 30:02mexerica? Deixa aí pra gente os
- 30:04comentários, até mais pessoal, até a próxima, até a.
- 30:07Próxima, tchau, tchau.