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

[ Pitch ] AI coding vs no/low-code: competição ou colaboração? | Newsletter O Digital

Galera,

Postei isso na minha newsletter e resolvi compartilhar aqui pra vcs tbm, imagino que vão ter opiniões fortes sobre o tema.

Contem a experiêcia de vcs e fiquem a vontade pra discordar, vai ser bom ouvir os contrapontos!

Espero que curtam o texto.


🏗️ No/low code e o momento atual

Nos últimos anos, um pouco antes do boom da GenAI tivemos a popularização do no/low-code, impulsionado por ferramentas como Bubble, Flutterflow, Zapier e similares.

Essas ferramentas permitiram que pessoas não técnicas como designers, product managers, gerentes e outros criassem aplicações pequenas para MVPs - e até, aplicações não tão pequenas.

Obviamente, pessoas que sabem codificar também podem usufruir da velocidade e praticidade do low-code, mas vejo uma certa resistência da maioria dos devs que converso sobre isso - uma pena, para eles.

Pra esquentar ainda mais o ecossistema de (tretas) discussões sobre high-code ou no-code, a GenAI veio aí pra mudar tudo!

⚠️ Quais são os problemas do no/low code?

Temos diversos pontos de atrito entre desenvolvedores e entusiastas de no-code, os principais pontos de discórdia que vejo por aí são os seguintes:

Personalização limitada

Uma plataforma no/low-code é mais rápida exatamente por trabalhar em cima de padrões e componentes já construídos e validados.

Se você precisar muito “sair da caixinha” para criar coisas únicas e mega personalizadas, usar uma ferramenta dessa pode ser sim um problema.

Contrapontos: Ao contrário do no-code, as plataformas low-code (baixo código) permitem inserir trechos de código, exatamente para customizar o que não é possível por padrão.

Além disso, as plataformas líderes de mercado estão cada dia mais robustos e atualizados conforme o ecossistema de tecnologia.

Risco e dependência de plataforma

Esse é o clássico: “não construa no terreno dos outros“, ou seja, usando uma plataforma para criar seus sistemas, você está diretamente dependente dela. Eu já falei bastante sobre Risco de Plataforma neste post.

Você está sujeito a updates na plataforma (inclusive versões quebradas), instabilidade, aumento de preço e algo mais difícil, porém não impossível de acontecer: o encerramento das atividades da empresa. Já imaginou ter seu site dentro de uma plataforma no-code que encerra suas operações? Prepara para refazer do zero, bem provavelmente.

Contrapontos: De certa forma, a não ser que você tenha um servidor Linux na sua casa, sempre vai haver algum tipo de dependência: seu servidor na nuvem (AWS, Microsoft), a store que hospeda o app (iOS, Android), etc.

Se escolher um dos top players de mercado, dificilmente você terá grandes problemas.

Escalabilidade

Um dos pontos mais polêmicos de todos: no-code escala ou não escala? A resposta varia de pessoa para pessoa.

O primeiro ponto que quero destacar aqui antes de discutir esta resposta é: o que é escala?

Escala é ter 1k, 10k ou 1M de usuários? É suportar TB de dados ou suportar milhares de acesso por dia? Percebe que não há 1 só resposta para essa pergunta?

Então, se não sabemos exatamente o que é essa escala, fica difícil responder.

Particularmente, eu acredito no meio termo, aquele velho depende.

No-code vai funcionar para muitas empresas para sempre, eles nunca vão ter problemas de escala. Para outros, pode sim ocorrer um gargalo em que será necessário mudar (ou mesclar) pedaços de software high-code.

Depende muito do que é exigido e da necessidade de cada negócio.

Preconceito, barreira cultural e síndrome do impostor

Sim, é isso mesmo. E pra mim este é o pior e mais difícil de lidar de toda a lista!

Para quem passou a vida escrevendo códigos por horas antes de ver algo funcionar, pode ser frustrante fazer um “arrasta e solta” e ter o mesmo resultado em poucos minutos.

Para quem passou a vida gastando meses desenvolvendo algo, ver uma aplicação entregar o mesmo valor para o usuário final pode fazer a pessoa se questionar sobre o próprio valor profissional.

E aí, de forma inconsciente (ou não), o mecanismo de auto-defesa pode ser ativado: isso não tem qualidade, não escala, não fica bom, não tem segurança, sua_defesa_aqui.

Minha dica para esse pessoal é: isso é só mais uma forma de fazer a mesma coisa, abrace as vantagens, entenda as desvantagens e saiba quando usar ou não essa abordagem. Quem vai ganhar com isso é você!

🤖 AI coding quebrando tudo (menos o código)

Pra começar, trago um relato pessoal que fez pensar muito.

Eu queria criar uma pequena aplicação para um MVP de forma muito rápida, pensei em usar uma plataforma low-code para isso.

Porém, para quem não sabe, eu fui desenvolvedor por muitos anos. E a coisa da habilidade é como aquele papo sobre andar de bicicleta: depois de anos sem exercitar, você não tem a mesma expertise, mas com um pouco de treino volta a conseguir fazer isso relativamente bem.

Então, me vi no seguinte dilema: aprender uma nova ferramenta no-code, ou usar as novas GenAIs para codificarem para mim? Eu fui na opção 2, por um simples motivo: eu acabo TODOS aqueles possíveis problemas do no-code.

É simples, eu tenho melhor dos mundos: a AI coda pra mim e agiliza absurdamente o meu desenvolvimento. Enquanto isso, não tenho risco de plataforma, escala, nem mesmo limitações da plataforma, afinal o código é meu e eu faço que o que eu quiser!

O resultado?

Em 2 dias completei a criação do MVP, que arrisco dizer, levaria pelo menos 15 dias para ficar pronto desenvolvendo da forma tradicional (contando que eu já tenho anos de prática, mesmo que um pouco enferrujado, rs).

O projeto está sem bugs, documentado, organizado e o melhor de tudo: funcional e na mão do usuário final!

Nem tudo são flores

Preciso ser justo, pessoas de negócio não conseguiriam fazer esse projeto desta forma.

Eu só consegui essa entrega incrivelmente produtiva por ser uma pessoa bem técnica há muito tempo. Eu sei os caminhos, ferramentas e frameworks que agilizam, melhores linguagens, etc.

Durante o desenvolvimento também tive pequenos problemas e precisei intervir: a AI se confundiu com versões de ferramentas, entrou em loop para resolver um problema, precisou que eu especificasse exatamente qual ferramenta e como usar. Mas nada que faça eu me arrepender nem por 1 segundo, faz parte do jogo!

🤯 E o futuro? AI ou no-code?

Aqui temos um tema interessante para pensar: será que o futuro é de pessoas não técnicas construindo via no-code, ou de pessoas extremamente técnicas produzindo códigos na velocidade de luz?

Eu tenho alguns palpites:

A médio prazo: ambos. Teremos diversos MVPs sendo feitos por pessoas de negócio usando no-code, enquanto desenvolvedores são mais produtivos usando AI.

A longo prazo: AI + no-code. Eu acredito que teremos uma fusão das 2 estratégias. Surgirão ferramentas que constróem aplicações usando código, mas que permitem que o usuário interaja também com drag and drop.

Um misto de estratégias: cria o botão visualmente com o mouse, e adiciona um prompt para dizer a ação que será feita no clique do botã.

Sinceramente, esse é o futuro que eu gostaria de ver!

🛠️ Ferramentas utilizadas

Claro que eu não ia te deixar na curiosidade! As ferramentas que usei para este MVP foram:

  • ChatGPT (GPT4o e o1-preview) para conversar e tirar dúvidas mais gerais.
  • Windsurf com Claude 3.5: A nova IDE simplesmente INCRÍVEL, que te permite desenvolver conversando com um bot. Claude é o melhor LLM para desenvolvimento que usei até agora.
  • Cursor: Uma outra IDE de desenvolvimento que te ajuda a codar via AI. Usei para comparar com o Windsurf, mas não havia real necessidade de usá-la também :).
  • Google: sim, eu ainda precisei um pouco do tio fora de moda.
  • Github: para buscar frameworks e libs open-source.

Se gostou deste post, dá uma olhada na newsletter e assine para receber os próximos no seu email.

Carregando publicação patrocinada...
2

Na minha visão, é super necessário ter um background técnico. Digo isso porque já vi desenvolvedores no-code fazendo gambiarras que um desenvolvedor tradicional não faria

1

Então, desculpa te frustar em um detalhe:

Para quem passou a vida escrevendo códigos por horas antes de ver algo funcionar, pode ser frustrante fazer um “arrasta e solta” e ter o mesmo resultado em poucos minutos.

Isso não acontece, pois é, programadores não ligam pra isso, sabe porque a grande maioria não usa? Porque é mais lento, sim, isso:

evaria pelo menos 15 dias para ficar pronto desenvolvendo da forma tradicional

É efeito placebo, o que acontece na maioria das vezes é discrepância de projetos e ignorar o "inicio frio":

  • Discrepância de projetos: No-Code e Low-Code não são usados da mesma forma nem produzem o mesmo resultado que High-Code, por exemplo, um cadastro de clientes, em No-Code (e a partir daqui pra simplicar a leitura, leia No-Code como No-Code/Low-Code) instintivamente se ignora coisas que não se pode fazer, por exemplo mas não limitado a: design de banco de dados, otimização de estilo, validações em backend (até porque é caro especialmente em Bubble), por exemplo num cadastro de clientes, quando foi a última vez que fez isso no campo "cpf" no Bubble, FlutterFlow ou similar no Backend?
function CPF(value) {
    if (isNaN(parseInt(value)) || value === "") {
        return false;
    }

    value = value.toString().padStart(11, "0");

    if (value.length !== 11 || value.split("").every(char => char === value[0])) {
        return false;
    }

    function calculaDigito(pesoInicial, maxIndice) {
        let soma = 0;
        for (let i = 0; i < maxIndice; i++) {
            soma += parseInt(value[i]) * (pesoInicial - i);
        }
        const resto = soma % 11;
        return resto < 2 ? 0 : 11 - resto;
    }

    const digito1 = calculaDigito(11, 9);
    const digito2 = calculaDigito(12, 10);

    return value.slice(9, 11) === `${digito1}${digito2}`;
}

Então por mais que a casca do projeto No-Code seja idêntica a de um Hi-Code, eles não são a mesma coisa, praticamente todas as vezes projetos No-Code ignoram coisas assim que geralmente são feitas em projetos Hi-Code, esses detalhezinhos extremamente importante consomem muito tempo, isso sem contar na documentação

  • inicio frio essa comparação geralmente é feita considerando o desenvolvedor Hi-Code começando do zero, geralmente um PC Windows, sem VS Code, sem NPM, Composer, WSL, SSH, git e afins, instalar e configurar isso leva tempo, dependendo da internet mais de 1 dia, mas quantas vezes isso precisa ser feito? 1x então não é justo por na conta, esse desafio por exemplo, é naturalmente inválido

Já a IA, ela não funciona tão bem assim, para fazer um exemplo simples e boilerplate é até útil mas coisas minimamente avançadas? Esquece...

Antes de negativar, aproveitando que você é um evangelizador de No-Code e IA, aqui vai um desafio de vídeo no YouTube:

  • Numa plataforma No-Code qualquer (pode usar IA se quiser) faz uma plataforma de cadastro assim, bem básica:
    • Deve poder possui cadastro completo de usuário com:
      • Validação de nome (se tem caractere não alfabético/diacritico, se tem espaço duplo, grave como apóstrofe... coisas que um projeto Hi-Code geralmente tem)
      • Validação de data de nascimento
      • Validação de documento (CPF, RG...)
      • Validação de endereço descritivo
      • ...
    • Deve poder possui cadastro completo de medicamentos com:
    • Margem critica (ou seja avisar quando comprar mais baseado no estoque atual e o tempo de entrega)
    • Classificação
    • Tarja
    • Impostos
    • Lucro de venda
    • PDV
    • Relatório de vendas com média móvel
    • Estilo isolado e otimizado

Sim, eu sei que é algo besta e simplório que qualquer júnior HiCode rascunha com código em 2 ou 3 dias, mas gostaria de ver isso sendo feito em No-Code em pelo menos um tempo inferior a 10 dias. Lembrando que validação é feita no backend e não no front

2

Ultimamente a quantidade de Gambiarras feitas com IA que tenho visto esta a um nivel assustador. Todas as vezes que algum candidato a uma vaga aqui na empresa me diz que fez em dois dias e me entrega o projeto para analisar é de arrepiar só de olhar por cima. Inconsistencias, cada arquivo tem um padrão diferente. Voltas e Voltas para fazer algo simples, e a manutenção e legibilidade no codigo fica comprometida, código inseguro, dificilmente tem uma barreira para proteger de qualquer tipo de ataque, principalmente dados. Entre muitos e muitos outro problemas. A cada dia que surge temos mais pessoas iludidas achando que estão criando sabe Deus o que em 2 dias, só que na verdade são projetos que não possuem utilidade real, a não ser algum aprendizado. Não estou falando que a IA nao presta, ao contrário, é senssacional, mas tem muita gente não sabendo usar da forma correta por falta de conhecimento robusto da base de programação.

1

Opa. Valeu pelos pontos!

Eu concordo é que realmente existem coisas mais específicas que ainda não podem ser feitas via low code, do resto discordo de tudo.

A cada dia, essas coisas mais básicas vão sendo incorporadas em nocode.

Sobre IA, quando eu testei pra codar pela primeira vez foi bem tosca, hoje já tá bem melhor, e vai melhorar a cada ano.

Tenho visto cada vez mais aplicações robustas e rentáveis por aí no mercado. Inclusive, esse seu desafio acho que é bem possível, viu?

Se puder te fazer uma recomendação, te diria pra dar uma olhada de forma mais aberta nas ferramentas. Sobre IA, experimenta o Windsurf!

Valeu, abç!

1

O post esta muito equivocado. Nunca, jamais, será possivel arrastar e soltar e ter uma feature pronta, e afirmo isso como especialista senior em modelagem e desenvolvimento, pós graduado em IA avançada. Eu sei que comenta-se por ai muitas bobagens, e iniciantes vão muito atras dos youtubers que só querem polemizar mesmo, mas, se voce esta pensando em começar a programar e ter tudo em suas mãos, ficará frustrado como a IA é limitada quando fala-se em projetos reais, realmente rentaveis, envolvendo programadores que faturam 25k, 30, 40k aos mes ou mais. Se quiser ser um desses, terá mesmo que estudar muito e até vai usar IA, mas apenas para seu trabalho braçal.

1

"Nunca, jamais, será possivel arrastar e soltar e ter uma feature pronta" - Ué, Bubble, Weweb, Flutterflow e todas as outras já fazem isso. Na verdade o Elementor já faz isso há uns 10 anos pelo menos.

Eu já vi muita gente que nem sabe programar fazendo mais dinheiro que os programadores seniores por aí.

Mas eu concordo com vc que, para projetos grandes que exigem mais segurança, performance e etc, no-code e IA não resolvem.

1

Eu só consegui essa entrega incrivelmente produtiva por ser uma pessoa bem técnica há muito tempo. Eu sei os caminhos, ferramentas e frameworks que agilizam, melhores linguagens, etc.

é isso, e é somente por isso que você conseguiu usar a IA e sendo sincero, voce nem deve ter percebido mas essa sua afirmação quebra o seu post inteiro, ela vai contra a todas as suas outras frases no decorrer da postagem.

1