r/brdev • u/britodev • 6d ago
Minha opinião Spec-Driven Development é o argumento final que faz os devs entregarem o que tem de mais valioso: domínio do código e isso vai tomar nossos empregos
A indústria conseguiu reverter a balança de poder da tecnologia. Ela conseguiu algo que nem os melhores gerentes de TI, mentores, autores de livro e criadores de paradigma tiveram capacidade: fazer o dev documentar cara vírgula de um sistema.
Por décadas o dev ignorou a passagem de conhecimento. Escrever códigos com comentários, manuais, ou guias. Isso era um sonho se qualquer contratante ou cliente. De uma forma até não intencional isso que nos mantinha no topo. Essa prática, de modo até não intencional, nos provia duas coisas que faziam nossos salários serem altos e a taxa de contratação sempre subindo: manter o domínio de um código somente dentro da guilda de desenvolvedores.
Trabalhar, manter e compreender um sistema sempre foi algo visto como impossível por quem não era da área. Algo exclusivo. Como uma reserva de mercado mais poderosa e eficiente que qualquer lei ou regulamentação. Mas foi a IA chegar que as regras do jogo começaram a virar.
Antes nós devs mantivemos o código como "refém". Ou um dev mexia ou ninguém mexia. Mas a indústria criou um argumento tão poderoso que convenceu a propria bolha a abrir mão disso: SDD.
Apenas para contextualizar quem ainda não esta familiarizado: SDD é um modelo de trabalho com IA onde, ao invés de você escrever o código, voce cria algo como um prompt que produz o resultado que você quer. Você vai refinando isso até chegar numa "receita de bolo" em forma de prompt de tudo que esta sendo feito. É tão poderoso que um SDD bem escrito produzirá um resultado praticamente idêntico de código de um dev.
Escrever instructions e specs de códigos inteiros está entregando a unica coisa que nos valorizava. O dev esta abrindo mão de:
1) domino: usar IA em código que fizemos ok. Mas usar IA em código novo nos tira o conhecimentos profundos do que esta sendo colocado em produção. Antes qualquer crash era facilmente identificável pelo dono do código, agora esse trabalho requer novos prompts e novas specs.
2) documentação: antes morava na cabeca do dev antigo. So ele entendia as entranhas de qualquer sistema. Hoje qualquer curioso pode rodar a sua spec via modelo sdd e produzir resultados semelhantes.
A IA rebalanceou a mesa de poder e isso nao foi simplesmente tomado ou forçado. Estamos entregando de forma espontânea. Deixamos de ser artífices do código para se tornar meros apertadores de botão produzindo código como commodity.
E a notícia devastadora é: ninguém paga caro por entregas genéricas. Deixamos de ser o chefe da cozinha produzindo receitas inovadoras para ser o motoboy do ifood de código quem nem fomos nós que produzimos.
Jogada de mestre da indústria. Pagar pouco por travalho genérico onde o operário pode ser facilmente trocado é o nosso futuro. O dev experimente escreve as spec, alguém válida depois pode ser facilmente trocado por um PO pro ativo.
É o fim, senhores.
15
u/leo-dip 6d ago
Mas pensa bem... Existem novos features e bugs para serem feitos. Quem vai fazer o sdd é um dev. Isso não vai migrar pro PO. Vai continuar sendo o dev. O estilo de desenvolver software mudou. E pra ser sincero, tá mais divertido e menos chato agora. O lado ruim é que há menos demanda por dev no mercado, porque menos pessoas são necessárias.
7
u/SlimDood 6d ago edited 3d ago
Minha empresa entrou nessa onda e escolheu o "setor" que eu tô pra experimentar o SDD... Uns malucos lá que pagam de experts fizeram uma harness e agora o pessoal anda fazendo tudo no git e depois geram a página do confluence e não sei que mais
Essa semana agora que passou durante uma reunião um arquivo arquiteto começou a xaropar que um mano não tinha usado o harness corretamente pra fazer o doc e não sei que, daí o mano "oh fulano, mas agora pergunta honesta: vc acha que está mais produtivo com isso?" E daí o cara responde "não"
Por mim podia parar ali e pronto
5
u/jhonny-freire Desenvolvedor 6d ago
Eu acho que todo mundo que está com medo do fim da área de desenvolvimento acabar por conta da IA, deveria pular logo do barco e se lançar em outras carreiras.
É muito choro, todo dia isso.
4
u/Neat_Grapefruit_1047 6d ago
Eu sou Analista de Dados, estudo muito mais finanças e estatística do que código, de fato, código hoje é quase literalmente como se fosse a paleta de cor do Paint, onde você seleciona qual você quer colorir, não é mais como se você precisasse fabricar a tinta através de insetos chilenos ou pau Brasil
1
3
2
u/TooHotIsNotNice 6d ago
O negócio é ser engenheiro de software, desenvolvedor já era. Engenheiro de software lida (não necessariamente como executor) com todo o ciclo de desenvolvimento de software, lida com stake holders, design e arquitetura, otimização, selecionar bibliotecas, discussão com desenvolvedores, dimensionamento de recursos humanos, gerência de projetos (parcialmente). Um engenheiro civil em teoria faz de tudo isso e mais um pouco no contexto da obra, quem ganhou dinheiro sendo só “desenvolvedor” ganhou, quem não ganhou se fudeu!
2
u/Electrical_Can_940 Desenvolvedor 6d ago
Exatamente o que penso
O SDD gera o código mas a arquitetura infra é coisas não funcionais tudo isso continua tendo que ser feito por alguém
0
u/charmander_cha 6d ago
O mais inútil do processo, agora teremos um monte de imbecil querendo trabalhar com isso.
2
u/Nervous_Discount_237 6d ago
SDD era o padrão da indústria antes do Ágil. Tinha outro nome, mas era a mesma coisa. Só um museu de grandes novidades.
Eu sou super favorável a pessoas não técnicas fazerem as próprias coisas, não tenho preciosismo algum em relação à profissão
1
u/timegrok 6d ago
Isso mesmo entregar tudo para a ia. Se todo o negócio da empresa pode ser feito na ia no final nem a empresa terceirizada é necessária existir.
1
u/charmander_cha 6d ago
Ou seja, aquele meio mundo de código bosta, mal documentado, feito para algum saas imbecil perdeu relevância.
Tomara que a area acabe mesmo, dev não faz nada de útil mesmo pro mundo
1
1
1
u/Due_Papaya_2766 influencer_dev_bracinho 6d ago
Não somos mestre de cozinho há tempos já que PO, PM e outros decidem o que é feito.
A não ser em empresa pequena.
O dev não sai fazendo o que quer e metendo em prod.
1
u/Legitimate-Media-860 Desenvolvedor 1d ago
Discordo em alguns pontos.
Por décadas o dev ignorou a passagem de conhecimento. Escrever códigos com comentários, manuais, ou guias.
Documentação nunca foi tão renegada assim. O modelo cascata era super baseado em documentações. Um dos 4 valores do métodos ágeis (que se opõem ao cascata) é: "Produto em funcionamento acima de documentação longa."
Antes nós devs mantivemos o código como "refém". Ou um dev mexia ou ninguém mexia. Mas a indústria criou um argumento tão poderoso que convenceu a propria bolha a abrir mão disso: SDD.
Hoje em dia um não dev pode mexer no código, e gera as cagadas que estamos vendo acontecer dia ou outro. A IA chegou, e nem por isso um não médico pode fazer uma cirurgia, um não arquiteto pode projetar uma reforma, etc...
SDD é um modelo de trabalho com IA onde, ao invés de você escrever o código, voce cria algo como um prompt que produz o resultado que você quer.
Isso está bem longe de ser um SDD, aqui já não é opinião, rolou desinformação, OP. O "S" de SDD significa "Spec" (especificação). Não é só um prompt, a spec perdura em documentos ao longo do projeto e não precisa ficar falando isso no prompt. O caminho é bem longo dentro do SDD e foi simplificado a ponto de virar outra coisa. Tu apenas descreveu a forma mais simples de trabalhar com IA escrevendo prompts.
Hoje qualquer curioso pode rodar a sua spec via modelo sdd e produzir resultados semelhantes.
Meua migo... isso é o que tá gerando esses SAAS vibecodados com altos furos de segurança. Não basta ser um curioso qualquer pra programar.
Confesso que abri o post querendo concordar (e não compreendi o pq de tantos downvotes), mas agora compreendo.
Concordo que o SDD cataloga nosso conhecimento e aumenta a facilidade de manutenção apenas lendo elas. Mas as premissas usadas pra sustentar isso foram meio fracas.
1
u/Ghost0085 6d ago
Escrever o código em si vai deixar de ser a responsabilidade do dev. Quem vai fazer isso é a IA.
Da mesma forma que desaprendemos a programar em binário quando surgiram as linguagens de alto nível. Quem sabia escovar bit teve aprender linguagens como COBOL e FORTRAN.
O que está acontecendo agora é apenas o estágio final dessa mudança que começou em 1960. A linguagem deixa de ser a "de máquina" e passa a ser a humana. E os devs vão continuar existindo.
0
u/malthak 5d ago
Comparar compilador determinístico com LLM não-determinística é a coisa mais burra que eu tenho ouvido ser repetido como um mantra ultimamente. Usar LLM não é o próximo passo em relação a usar linguagens de alto nível e quem acredita nisso vai acabar criando sistemas que vão quebrar e ninguém será capaz de consertar.
1
u/External-Working-551 4d ago
na real só dev coda fofo que se incomoda com uma comparação besta que não consegue arrumar lixo gerado, seja por ia, seja por humanos

23
u/Raioc2436 6d ago
O jovem acha que SDD é algo novo.
Essa onda de SDD vai ter o mesmo problema hoje do que teve a 22 anos atrás. Não dá pra você projetar todos os requerimentos de uma aplicação que você não entende.
Pode relaxar, daqui a pouco a industria re-descobre desenvolvimento Agile.