Executando verificação de segurança...
1

Como não ficar para trás na era da IA

A transformação silenciosa que está mudando o papel do programador

E se uma única pessoa conseguisse trabalhar 6x mais rápido? Se conseguisse, sozinha, fazer o trabalho de 4 pessoas? Loucura? Pois saiba que, com inteligência artificial, isso já é realidade.

Na edição de hoje da Newsletter do Moa, eu falo por que a inteligência artificial está subindo o nível de exigência, e explico como fazer para não ficar para trás.

Softwares que fracassam

Eu tenho alguns projetos de software no currículo que fracassaram. Em um deles, a empresa montou um time de quase 10 pessoas para construir um appliance de segurança. Foram quase 2 anos na luta para, no final, jogar a toalha e aceitar que aquele projeto nunca sairia do papel.

Em outro, a empresa gastou uma nota para desenvolver um software para automatizar parte de um processo crítico da operação. Depois de um ano de trabalho, a baixa qualidade do software não permitia o deployment em produção, então, me contrataram para resolver o problema. Depois de 6 meses reescrevendo tudo, recebo a notícia de que o projeto seria despriorizado. Centenas de milhares de reais no ralo.

Esses fracassos não são exclusividade minha, das empresas que trabalhei, ou até do mercado de tecnologia brasileiro. 83,9% dos projetos de TI falham parcial ou completamente, segundo o Standish Group. A mesma fonte indica que apenas 16,2% são entregues no prazo, no orçamento e com escopo completo. Falando em escopo, 64% das features desenvolvidas são raramente ou nunca usadas. É MUITO desperdício de dinheiro.

Entregar software de qualidade, no prazo, é difícil

Na construção de uma casa, a etapa do planejamento talvez seja uma das mais longas e cruciais. Isso porque, caso haja algum erro no planejamento, não será possível mover a casa de lugar, depois de pronta. Com software, a coisa muda de figura.

Um projeto de software se assemelha a um organismo vivo. Muita gente ainda acredita que fazer software é planejar, executar, entregar e acabou. Errado. Tirar o projeto do papel e colocar no mundo, para usuários reais, é só o começo do processo. O custo real de desenvolvimento está na constante manutenção e evolução do projeto.

O mercado de tecnologia avança muito rápido. Isso significa que um produto digital precisa evoluir continuamente: novas features, correções, adaptações, mudanças de escopo, melhorias. Conforme um projeto de software avança, ao longo dos anos, mais complexa fica a sua manutenção. Isso porque, inevitavelmente, más decisões técnicas serão tomadas ao longo dos anos, e cada decisão ruim é um monstrinho que volta para puxar seu pé, sempre que você tentar evoluir.

Além disso, tem outros fatores. Diferente de um prédio, que possui tijolos firmes e palpáveis, um software é um monte de código que, magicamente, se materializa através de caixinhas e botões que aparecem numa tela. Isso é MUITO abstrato. Por conta de toda essa abstração e subjetividade, existem muitas formas de chegar ao mesmo resultado.

Quando se tem apenas um programador trabalhando no projeto, ótimo! Mas, como quem tem um não tem nenhum, a maioria dos projetos é tocada por um time com mais de uma pessoa. Cada membro desse time possui suas próprias interpretações do que é certo e do que é errado. Isso vale para estilo de escrita, para decisões arquiteturais, para processos de trabalho… Como manter todo mundo alinhado, conceitualmente? Muitas vezes, as más decisões técnicas não vêm de incompetências, mas, sim, de falta de alinhamento conceitual.

Por fim, existem os problemas de fluxo de trabalho. Um escreve, outro revisa, outro da merge, outro testa a qualidade. São várias pessoas colocando a mão no mesmo código. Esses handoffs aumentam a lentidão de entrega e, também, os possíveis pontos de falha.

Como entregar software rápido e com qualidade?

Há um tempo, fui impactado por um vídeo muito bom, que conta um pouco da história do mercado de desenvolvimento de software no mundo. Esse vídeo mostra como a indústria vem tentando resolver esse problema de lentidão e falta de qualidade ao longo das décadas.

O problema vem sendo resolvido por vários ângulos diferentes. Existem, por exemplo, soluções técnicas. Nos anos 70-80, a gente tinha apenas programação estruturada e orientada a objeto. Já nos anos 90-2000, apareceram os design patters, SOLID, clean code, DDD. Dos anos 2010 para frente, começaram a aparecer os frameworks, bibliotecas, IDEs, etc.

Pelo lado do processo, tivemos várias inovações também. Com o advento do software como serviço, a indústria passou de um formato clássico, de gestão de projetos em cascata, para alternativas mais aderentes a uma realidade de velocidade e constantes mudanças. Na última década, nós vimos surgir Scrum, Agile, Kanban, etc (vimos também essas metodologias serem sequestradas pelo corporativismo, mas, isso é papo pra outra hora).

E qual a última invenção que vem com a promessa de revolucionar a programação e conseguir fazer times entregarem software rápido e com qualidade? Sim, a inteligência artificial generativa.

Custo braçal agora é próximo de zero

Se fizermos uma análise da história do capitalismo, é possível traçar alguns paralelos com o que está acontecendo hoje. Assim como uma máquina colheitadeira substituiu o trabalho braçal de colher uma fruta, a inteligência artificial vem para substituir o trabalho braçal de escrever código. A capacidade das LLMs de escrever código automatiza essa parte do trabalho, que é de baixo valor agregado, e também de maior custo.

Antes das LLMs, uma parte relevante (se não a maior) do trabalho de um programador era escrever código. Muitas empresas possuíam exércitos de programadores muito mais pela necessidade de produzir código do que pela necessidade de planejamento. De novo, vou recorrer a uma analogia da economia real: quantos engenheiros uma obra possui? E quantos pedreiros?

Com a chegada da IA e a sua capacidade de escrever código, uma pessoa sozinha consegue fazer o trabalho de três, quatro, e até cinco outras. Semana passada, mesmo, um amigo me mostrou um projeto em que trabalhou. Segundo ele, sozinho e em um mês, ele conseguiu fazer o trabalho que uma equipe de 4 pessoas faria em 6 meses.

Com menos pessoas tocando um mesmo projeto, temos menos pontos de handoff. Com menos pontos de handoff, temos menos falhas de comunicação e alinhamento. Com times mais seniores e mais enxutos, temos mais velocidade e mais qualidade.

A partir de agora, o gargalo muda de lugar. O programador deixa de executar a função de escrevedor de código, e passa a executar somente a função de planejador e revisor.

Conclusão

Toda essa discussão de que a IA vai tomar nossos empregos é velha e muito mais sensacionalista do que pragmática. A inteligência artificial é uma ferramenta de produtividade, que vem para diminuir o custo de entregar software rápido e com qualidade. Dito isso, sem dúvidas, estamos tendo mudanças de paradigmas.

A inteligência artificial empodera o bom programador. Aquele que domina arquitetura, padrões de projeto, estrutura de dados, etc. Aquele que é capaz de tomar boas decisões de longo prazo, pensando em confiabilidade, escalabilidade e manutenibilidade. Aquele que sabe o que construir e porquê construir. O papel deixa de ser execução e passa a ser planejamento, orientação e revisão.

O trabalho de escrita de código foi automatizado, mas o trabalho de pensar ainda não foi, e nem será. Inteligência artificial não pensa, ela é só um* autocomplete* com esteróides. Quem pensa, de verdade, é o ser humano.

Agora, se você é um ser humano e não sabe pensar… aí o problema não é a IA.


✉️ Esta foi mais uma edição da Newsletter do Moa!

💪🏻 O meu objetivo com essa newsletter é ajudar profissionais de tecnologia que desejam desenvolver uma visão mais estratégica.

Além disso, pretendo também compartilhar outras coisas, como um pouco dos bastidores da construção de um negócio SaaS, as minhas opiniões e meus aprendizados. A ideia geral é ser uma documentação pública e estruturada dos meus pensamentos e aprendizados ao longo dos anos.

Portanto, se você se interessa por soft-skill, desenvolvimento pessoal, empreendedorismo e opiniões relativamente polêmicas, sugiro que você se inscreva para receber as próximas edições. ⬇️

Toque aqui para se inscrever

Carregando publicação patrocinada...