No-code: de tendência em produto a um movimento da tecnologia
No-code é uma tendência em produto e, como tal, tem ganhado adeptos e críticos. Mais do que ameaça ou modismo, porém, ele pode ser entendido dentro de um movimento maior da tecnologia.
No-code e, de certa forma, seu parente próximo low-code, tem dividido otimistas, principalmente em gestão de produto, design e negócios, e pessimistas, sobretudo na engenharia de software e na ciência de dados.
É comum ver adeptos destacando-o como a bola da vez para prototipação e validação de produtos ou até para colocar soluções em produção no mercado. Assim como há céticos discutindo se irá dispensar desenvolvedores ou se soluções de AutoML reduzirão vagas para profissionais de dados.
Nem tanto ao céu, nem tanto ao inferno, o que se vê hoje nas comunidades de produto é, na verdade, uma tendência dentro de um movimento maior que acontece desde os primórdios da tecnologia da informação.
Este texto é um passeio por essas duas formas de enxergar o assunto e um aviso de que, a longo prazo, a tecnologia é uma busca que diz menos sobre “meios” (código, software) do que sobre “fins” (soluções que tragam benefícios à humanidade e gerem negócios).
Alinhando conceitos
No-code, de modo amplo, pode ser resumido como a possibilidade de criar produtos de software por meio de gestos, sons, palavras ou outras formas de expressão humanas, sem precisar escrever código (ordens ou declarações em linguagens formais que a máquina consiga processar).
É o caso dos softwares que permitem “arrastar-e-soltar” formas na tela, visando a construção artefatos informacionais, sejam documentos estáticos ou dinâmicos (sites, páginas web, relatórios personalizados), listas de tarefas, imagens e ilustrações (pense-se no Canva, para design gráfico) ou tarefas mais “técnicas”, como importar dados de um banco de dados para um relatório ou fazer com que um formulário registre informações em uma planilha por meio de um aplicativo de integração.
Por mais que programadores também usem soluções no-code, o espírito é a ferramenta requerer nenhuma codificação para ser utilizada. É o mesmo que entrar em um carro carro e dirigi-lo sem precisar saber nada de mecânica.
Low-code (“baixo código”, algo que utiliza pouco código), por sua vez, significa que é necessário alguma habilidade de codificação, às vezes bastante específica ou restrita a um domínio, para que a finalidade de uma aplicação seja atingida.
Um exemplo de Low-code pode ser uma interface gráfica que permite consultar um banco de dados, mas que possui campo para inserção de trechos de SQL para refinar as buscas. Na alusão ao carro, é saber dirigir, mas também entender de mecânica básica ou de alguma característica técnica do veículo. Não tanto para consertá-lo, mas para deixá-lo mais eficiente.
Não é raro que os dois conceitos se confundam em produtos de software. Na verdade, até o que parece apenas código, sem interface gráfica, acaba passando por um processo de se tornar gradativa e inevitavelmente low-code, à medida que pacotes e bibliotecas permitem chamar funções com uma única linha de código, quando, há alguns anos, teria de se criar um programa inteiro para o mesmo resultado.
Tendência
Tendência, no sentido daquilo que está na moda, define algo que está em crescimento no curto prazo. É algo que normalmente tem escalada súbita, um pico e desaba, tornando-se resíduo da história ou simplesmente desaparecendo.
O sentido que no-code ganhou nos últimos anos, principalmente de 2018 para cá, parece se comportar dessa maneira. Vários fatores que se acumularam anteriormente, como desenvolvimento tecnológico e a cultura de lançar MVPs rapidamente, buscando um lugar ao sol na economia da inovação, foram importantes para isso, mas o crescimento dos produtos digitais é o que parece ter alavancado a moda.
É possível distinguir duas linhas em que o no-code ganha espaço nos anos recentes.
Pessoas de produto
A primeira linha é a dos fundadores de startups, product managers e product designers que têm uma ou várias ideias e precisam testá-las “a quente” junto ao público, sem um grande dispêndio de recursos em desenvolvimento de software. O objetivo é saber se vale persistir na intenção ou se é o caso de “pivotá-la”.
Técnicas como “teste de canal” (fazer uma landing page propondo uma solução, para ver há aderência à ideia, por meio de inscrições), “fake door” (colocar isso como opção dentro de um produto existente), “concierge” (operar manualmente uma proposta antes de construir qualquer artefato tecnológico, para descobrir o processo) e “mágico de oz” (ter um produto digital funcionando, mas onde as operações, por trás da interface, são executadas por humanos e não por um back-end automatizado) são exemplos de experiências em que soluções no-code podem facilitar a validação do produto.
Um passeio por escolas, comunidades e portais de conteúdo sobre product management mostra relatos de quão em alta está a construção de soluções no-code para acelerar a descoberta de ideias e testá-las a baixo custo. A própria gestão de produtos como prática, ou seja, as metodologias adotadas para alinhamento de visão com o time de engenharia, comunicação com stakeholders, priorização, atualização de roadmaps, é facilitada por soluções sem código ou de baixo código, como a junção de formulários a um Google Sheets ou Airtable e a visualização dos dados em algum criador de gráficos, ou a manutenção de documentos, quadros de trabalho e calendários em um Notion, por exemplo.
Do lado de design, não é muito diferente. Profissionais de UX e UI contam cada vez mais com soluções de ponta a ponta, desde a prototipação até o resultado final. Figma com certeza, é o mais proeminente. Ou podem fazer uso de aplicações conectadas por um IFTTT ou Zapier para testar fluxos ou interfaces muito realistas junto a usuários ou explicá-las a stakeholders (até porque protótipos de alta fidelidade, do tipo “acesse e use”, têm forte poder de encantamento e convencimento).
Pode ser um pouco fora do conceito retratado aqui, mas se olharmos bem, quando a empresa tem procedimentos minimamente padronizados, soluções sem código acabam se encaixando bem. O que são Tableau, Power BI, Google Data Stúdio ou Looker, todos para visualização de dados, senão artefatos que permitem contruir soluções sem recorrer a desenvolvedores ou sujar as mãos em código? Ou o que é o GitLab se não uma grande mão na roda dos próprios desenvolvedores e técnicos?
Makers independentes
A outra linha em que o no-code se destaca como tendência não é corporativa, mas de indivíduos tentando a sorte por meio da criatividade. É o que vem sendo chamado de “comunidade maker”, “citizens developers (desenvolvedores cidadãos)”, “no-code founders” (fundadores de apps sem código) e por aí vai.
São pessoas ou pequenos times independentes lançando produtos funcionais sem saber ou sem precisar programar, apenas usando ferramentas já disponíveis ou fazendo um mix interessante com elas. Como rapidez e produto na rua é o que importa, até a boa e velha “gambiarra” (abominada por alguns) é válida.
Algumas iniciativas desse tipo ganham mercado. Scribly.io, uma agência de marketing de conteúdo do Reino Unido, foi construída sem código e, em pouco tempo, estava gerando receita mensal de 25 mil dólares. Em 2019, o faturamento anual foi de 360 mil dólares. A criadora, Daniella Bell, basicamente usou Webflow para construir um site e uma ferramenta de gerenciamento de clientes, conectou o Airtable para servir como banco de dados e uniu Google Docs e Slack, por meio do Zapier, para gerar e acompanhar demandas de clientes.
Outros exemplos que se destacaram como viáveis são a Lambda School, escola de cursos de tecnologia; Comet, plataforma de freelancers francesa, que atingiu faturamento de 600 mil euros logo no início; e Makerpad, um portal construído sem código que ensina a projetar soluções no-code. Todos foram viabilizados por meio do Bubble, ferramenta concorrente do Webflow para criação de produtos digitais.
O que é interessante nessa cultura de criadores é que o no-code tanto democratiza a geração de renda por meio de produtos digitais quanto, por uma questão estatística, pode ser uma fábrica para produtos promissores. Como há milhares de makers tentando pôr seu produto na rua, uma parcela deles, mesmo que pequena, pode ter ideias geniais, surgidas de lugares e das cabeças mais improváveis, fora do mainstream do Vale do Silício, dos programas de aceleração de startups ou clubes de inovação.
Por outro lado, é claro, também pode ser difícil que alguns desses criadores ataquem e desbloqueiem grandes problemas corporativos e industriais, que exigem soluções complexas e em larga escala, como em logística, mobilidade, biotecnologia, energia, saúde e governo, onde é mais comum que startups e players de grande porte detenham conhecimento, talentos e capacidade de inovar e “disruptar”. Não é impossível que isso ocorra por parte de makers independentes, mas eles têm dificuldade maior, por questão de recursos.
Uma olhada em plataformas que destacam produtos no-code, como a Product Hunt, um hub para compartilhamento de criações em tecnologia, permite ver que muitas delas atacam pequenas necessidades ou questões supérfluas do cotidiano, as quais podem até gerar renda extra ao criador ou atender bem um nicho, mas há dúvidas se conseguiriam atingir market-fit e escalar como produtos corporativos.
A moda lembra um pouco o que aconteceu com blogs e com conteúdo entre os 2000 e 2010, em que vários autores se lançaram a criar sites e monetizá-los com Google Ads (e vários truques nada nobres), criando todo um buzz acerca de renda na internet. E também o que infoprodutos (e-books, vídeos, lives) e cursos vem experimentando mais recentemente.
A diferença, agora, é que esse ímpeto de criadores está migrando para produtos digitais em forma de sites, lojas virtuais, aplicativos de produtividade, auxiliares de pequenas tarefas etc. Diferente dos blogs, em que havia a necessidade de produzir conteúdo, muitos produtos atuais têm a vantagem de gerarem renda completamente passiva, por causa dos automatismos que oferecem, o que permite aos criadores ter tempo para aprimorar o produto ou lançar novos.
No-code é poderoso e democrático nesse ponto, mas pode se enquadrar bem na definição de tendência que surge, cresce, tem um pico e depois cai, dada a quantidade de produtos que ficarão disponíveis com o tempo (quantidade se torna um problema de escolha a partir de determinado momento) ou da dificuldade em se pagar e se utilizar uma dezena ou centena de micro soluções quando uma solução maior, mais “corporativa”, resolver “tudo” (mais ou menos como querer competir com a Amazon, hoje, na venda de livros).
As duas linhas — no-code como solução de lançamento rápido para empresas e como campo de criação para makers independentes — se cruzam porque esses mesmos makers podem ver sua ideia ganhar tração e virar empresa e porque muitas pessoas de produto também acabam galgando a área com intuito de descobrir e lançar uma ideia própria (pessoas de produto, não raro, estão em uma posição privilegiada para enxergar oportunidades do tipo).
ML no-code?
Cabe lembrar também dos produtos que estão democratizando o machine learning. Data scientists, data engineers e outros profissionais de dados também podem torcer o nariz para tais soluções (não sem razão, porque para se tornar profissional da área é necessário entender as engrenagens sob o capô), mas devemos reconhecer que é questão de tempo para que o fluxo da Ciência de Dados esteja coberto por aplicações visuais, do tipo “arraste-e-solte”, a fim de que pessoas de negócios façam suas análises, previsões, visualizações ou até automação de processos sem precisar de um técnico o tempo todo por perto.
Obviously.ai, H2O.ai, Levity.ai e várias outras plataformas de AutoML são exemplos. Possibilitam percorrer todo o fluxo de obter, limpar, analisar, modelar e colocar soluções para funcionar sem termos de mergulhar (ou, pelo menos, podendo ficar mais próximo da superfície) em código, estatística e matemática.
Teachable Machine também tem uma proposta interessante, que está sendo usada em educação. Permite construir modelos de aprendizagem de máquina para classificar imagens, sons, movimentos sem precisar codificar, o que é um aliado para introduzir crianças e adolescentes no assunto. (Os resultados desse último, por curiosidade, são gerados em tensorflow.js, biblioteca para machine learning em Javascript, o que permite soluções de ML no front-end, outra onda que está chegando.)
Ainda em relação ao ML, as próprias plataformas que viabilizam a construção de soluções no-code estarão cada vez mais “inteligentes” (é um caminho sem volta). Não é de se duvidar se, ainda nesta década, com avanços como o GPT-3 (gerador de texto a partir de sentenças) e DALL-E (gerador de imagens a partir de sentenças textuais), não estaremos apenas ditando a uma plataforma algo como “quero criar um cadastro para que clientes digam se comprariam tal produto e que os dados sejam exibidos em um relatório com gráficos”, e toda a solução venha pronta, talvez com alguns poucos ajustes a serem feitos. Ou dizermos: “agora, conecte esse formulário e relatório no aplicativo tal”, e um leque com três a cinco opções seja oferecido para integrar a solução rapidamente ao app indicado.
Tudo isso cobre bem o momento atual e o buzz em torno de no-code, que a área de produtos está vivenciando. Outra abordagem, sem euforia (no-code é “a” solução) ou pessimismo (no-code nunca vai permitir construir software “de verdade”), é enxergar tudo isso em uma perspectiva de longo prazo.
Movimento
Movimento, em comparação com tendência, pode ser entendido como o platô a que um assunto, prática ou ideia atinge, após crescer, e onde se desenrola por um bom tempo sem sobressaltos, mas também sem entrar no ostracismo. No-code também é um movimento se for encarado a partir da história da tecnologia.
Para se ter ideia, um livro de 1982, “Application Development Without Programmers”, por exemplo, já antecipava um pouco do que estamos vivendo atualmente com no-code. (Low-code, só para conhecimento, é um termo que surgiu em 2014, em um relatório da Forrester, uma consultoria em consumo e tecnologia.)
Encarado como movimento (esqueçam-se modismos e fundamentalismos), no-code pode ser enxergado como uma busca da tecnologia da informação desde que esta surgiu na prática, em 1946, com o ENIAC, o primeiro computador digital da história.
Nem uma década depois, em 1955, Grace Hopper, um ícone do desenvolvimento de software (nos primórdios, computação era dominada por mulheres) criou a Flow-Matic, originalmente “Business Language”, a primeira linguagem de programação de alto nível para aplicação comercial, para outro computador mainframe, o UNIVAC I. Observe-se o termo “business” (negócios) já presente no trabalho da programadora.
Na prática, Hopper criou uma linguagem que permitia a pessoas que não entendiam da parafernália de baixo nível do UNIVAC comunicarem-se com ele por meio de código que usava palavras do inglês. Alguma semelhança com low-code e com a intenção do no-code de democratizar o acesso às tecnologia?
A Flow-Matic, por sua vez, deu origem a outra linguagem muito usada na área de negócios, que roda em mainframes até hoje: COBOL, sigla para Common Business Oriented Language. Novamente, observe-se o “business” na denominação, indicando que era um linguagem para negócios.
O princípio era o mesmo: permitir se comunicar em um dialeto formal do inglês com o computador, para que o mesmo gerasse relatórios de dados bem mais primitivos que planilhas do Excel ou do Google Sheets, mas que atendiam necessidades de contabilização, aritmética e outros domínios exatos da época.
É claro que essas linguagens, aliadas ao escasso poder computacional do período, não permitiam muita flexibilidade, o que levou à criação de linguagens muito mais versáteis, mas mais complexas, como C, usada até hoje e que deu origem a várias outras linguagens, como Python, que utilizamos muito no dia a dia.
O advento dessas linguagens de alto nível levou à especialização do desenvolvimento de software, uma ramificação inevitável e necessária para o avanço relativamente rápido da área e fundamental para desenvolver toda a camada de infraestrutura sobre a qual o mundo praticamente roda hoje, do código assembly que faz nosso laptop iniciar ao Linux, que mantém servidores funcionando no mundo inteiro, e aos protocolos de conexão da web, que permitem a leitura deste texto neste momento.
Tal especialização criou uma lacuna entre quem escrevia software (o meio) e quem precisava ou queria usar produtos de software para resolver problemas (o fim). Não tardou, porém, para que, resolvida a escovação de bits inicial de nossa era tecnológica, mais e mais produtos de software chegassem ao mercado.
O Microsoft Office, de forma ampla, e o Microsoft Excel, especificamente, lançado em 1985 (há quase 40 anos!), são dois exemplos de aplicações no-code de extremo sucesso. Permitiram a uma gama de empresas mundo afora, de pequenas a gigantescas, resolver inúmeras tarefas de armazenamento e processamento de dados que, anos antes, custavam milhares de dólares para rodar em grandes computadores.
A internet democratizou tudo isso. A versão online do Office e do Excel, o Google Drive, com Docs e Sheets, foi mais um avanço brutal para o no-code, observando-se dessa perspectiva de movimento. O Google Sheets, por sua versatilidade e facilidade, é a solução de “banco de dados” por excelência em sistemas web de workflow, como o IFTTT, por exemplo.
A onda de softwares finalísticos para negócios, como Tableau e Power BI, já citados, mas também de grandes ERPs, CRMs e similares, como SAP e Salesforce, demonstram claramente a evolução da tecnologia para um mundo sem código. Isto é, há código, muito código, no motor (SAP, inclusive, pode ser considerado low-code, por utilizar linguagem própria, ABAP, para personalização), mas o que interessa em relação a esses produtos é “dirigir” e saber para onde o “veículo” é capaz de nos levar, em vez das preocupações com a mecânica.
Nos primórdios, havia muito da fundação da tecnologia da informação a ser construída. Qualquer processador de textos ou calculadora despendia um mergulho em questões demoradas de baixo nível, a ponto de ser muito mais trabalhoso construir o “meio” (a lógica, condições, exceções, tratamento de erros) do que o “fim” (fazer alguma aritmética simples).
A partir de um ponto em que essa infraestrutura se estabeleceu, abstraiu-se uma camada de detalhes técnicos e se enxergou um padrão emergente, principalmente às demandas de negócio. Boa parte do que se fazia (e se faz hoje) não passava, no fim das contas, de um repetitivo CRUD (“Create, Read, Update and Delete”, quatro operações básicas em bancos de dados), ou seja, recuperar informações de um banco de dados para utilizá-las de alguma forma.
Continuidade
Não será surpreendente se a tecnologia, assim como fez com a indústria cultural, a começar pela música, chegar ao ponto de engolir a si mesma (pode demorar um pouco, mas é interessante olharmos além de nossa existência como indivíduos).
Talvez a próxima fronteira seja aquela em que o código possa se autocriar, auto-corrigir-se ou auto-aprimorar-se, por meio de aprendizado de máquina. Ou haverá tantas soluções descobertas e amadurecidas que implicarão em menos frentes a serem atacadas, ou frentes muito “nichadas”, concorridas e difíceis, a ponto de ser mais viável colar soluções prontas, oferecidas como “legos”, do que desenvolver algo do zero.
O fato é que o ser humano não consegue parar quieto, tem que olhar adiante e romper barreiras por meio da criação. Interfaces de acionamento tátil, por voz ou por simples fluxo de pensamentos, como na ficção científica, serão pesquisadas e projetadas. Uma vez viáveis de serem massificadas, serão. As próprias funções de gestão de produto, design, desenvolvimento e dados poderão ser profundamente reformuladas por avanços como esses na tecnologia.
Quando chegarmos a isso, novamente será como em relação a carros. Quem aparecerá é o piloto, capaz andar mais rápido, ou com maior habilidade. Ou os efeitos colaterais que tais criações têm, como congestionamentos.
A migração dos meios para os fins é inevitável. Os fins se sobressaem e, à medida que a tecnologia democratiza fins mais desafiadores, menos e menos o meio aparecerá. No-code só obedece a essa lógica e, mesmo quando passar o frenesi de curto prazo, continuará sendo um movimento da tecnologia, talvez com código existindo cada vez mais e por toda parte, mas onde máquinas e humanos irão interagir muito mais à maneira desses últimos.
Artigo escrito por Rogério Kreidlow, jornalista, que gosta de observar a tecnologia em relação a temas amplos, como política, economia, história e filosofia.
Excelente artigo Rogério