5 coisas que você precisa saber antes de lançar seu novo projeto (ou pode dar muito errado)
Você está querendo lançar um projeto e tem receio que ele possa ter 0 usuários ativos? Produtos de sucesso não nascem do dia para a noite. Acima de tudo o importante é tentar e lançar. Lançar o máximo de projetos que você puder para que 1 ou 2 tracionem absurdamente. Mas, nesse caminho, existem alguns pontos que são fundamentais e devem te ajudar no seu percurso:
1 / Pare com a richa de stacks
Richa de stacks só acontece nas redes sociais. Entenda de uma vez por todas que o consumidor não tá nem aí para qual linguagem você está desenvolvendo, qual framework você utilizou e quais algoritmos você elaborou. Consumidor quer saber de resultado, quer resolver sua dor sem dor de cabeça.
Aqui, sinceramente, muitos correm o risco do hype. Vamos levar em consideração o Bun. Recém-lançado, poucos colaboradores, alta dependência do seu criador... quem levar isso aqui para o ambiente de produção antes do projeto ganhar maturidade é surtado. Eu sei, isso é uma tara interna por novos desafios e novas tecnologias, mas para o mercado é pouco prático.
Tecnologias mais consolidadas são melhores e mais do que isso, muitas delas propiciam o crescimento rápido do seu negócio. Podem falar dos milissegundos e dos processos single thread, mas PHP até hoje tem um suporte, maturidade e uma enorme comunidade que tornam os custos com a tecnologia muito mais baratos.
A questão é que brigar por uma stack ou implementar qualquer modinha do mercado não é o fator determinante de sucesso. A melhor coisa que você pode fazer é escolher a stack que você domina, que você desenvolve com mais agilidade e que tenha o menor custo agregado possível a longo prazo.
Quando você escolhe o que você domina, não tem erro. Seus desafios serão menores e programar será a atividade mais fácil com a qual você terá que lidar ao longo da vida útil do seu projeto.
2 / Valide a sua ideia o quanto antes possível
Qual programador não está com a sua ideia multimilionária na cabeça, esperando ter tudo pronto para disparar no mercado e faturar milhares de reais em um mês. Tão qual um belo sonho, isso é pura ficção. Ninguém tira uma ideia multimilionária da cartola, porque não é você quem decide se algo irá vender ou não... é o seu público-alvo.
Já vi vários programadores, inclusive eu antigamente, com um tremendo medo de lançar essa ideia ao público antes de ter tudo pronto. Correndo o risco de serem miseravelmente copiados. A questão é que ideia não vale de nada. Todo mundo tem ideia e fazer é muito mais difícil do que executar.
O mesmo tempo que leverá para você criar, levará para o outro criar. E se alguém for capaz de criar mais rápido, provavelmente tem mais dinheiro. Quem tem dinheiro, prefere investir do que executar (acreditem). Por tanto, o único risco que a sua ideia corre é morrer na praia, simplesmente não ser atrativa para ninguém.
Hoje tem dezenas de oportunidades disponíveis para você validar uma ideia. Você pode utilizar o Google Surveys, pode criar uma waitlist, uma landing page de apresentação, fazendo pitchs on-line. Uma série de estratégias para que você meça a temperatura do público.
Mas, por favor, não cometa o erro clássico de validar a sua ideia com quem sequer é seu público. Não adianta você pegar uma plataforma de petshop e apresentar para seus colegas programadores. A primeira coisa que eles vão perguntar é em qual linguagem você fez... por mais que isso te empolgue, não é o que você está buscando.
Se você resolve uma dor, apresente a solução para quem está enfermo. Dessa forma, você tem a resposta ideal de quem importa e conseguirá, de fato, mensurar se vale a pena seguir esse caminho. Muito provavelmente você estará realizando um projeto para resolver suas próprias dores e, se fizer direito, outras pessoas também terão o mesmo problema.
3 / Pense no marketing antes de qualquer coisa
Você pode ter a melhor stack do mundo que te ajuda a econimizar 250ms por requisição, ter a ideia validada por um grupo seleto de pessoas, mas não saber como vender para essas pessoas. Aqui destaco uma diferença muito importante entre vender e prestar uma consultoria.
Quando você validar sua ideia, essas pessoas irão passar por um processo de aprendizagem. Elas serão expostas a sua ideia com todo o seu entusiasmo e de acordo com sua apresentação. Darão feedbacks relevantes com base nos pontos que você levantou. Mas, aqui, você lida com um processo de evangelização.
Lembro constantemente da série Silicon Valley, pois é o retrato do programador apaixonado por código-fonte. O protagonista só conseguia fazer que as pessoas utilizassem sua plataforma após um dia inteiro palestrando. O entusiamos dele era tanto que as pessoas acabavam sendo convencidas depois de algum tempo.
Acontece que na vida real isso não é escalável (até a série deixe evidente o fracasso dele). Vender é diferente de evangelizar. A venda precisa ser processual, deve ser um discurso que pode ser reproduzido por qualquer vendedor (inclusive aqueles que mal entendem de tecnologia). A venda é traduzir os benefícios da sua ideia em sonhos tangíveis para as dores dos consumidores. A luz no fim do túnel.
Se você não tiver um processo de marketing e vendas bem construído. Quando lançar a sua plataforma, não irá tracionar usuários se não for capaz de vender. Nem que você tenha que desprender horas estudando sobre prospecção, vendas e marketing, ou que tenha que se juntar com alguém que saiba de tudo isso. Se você não fizer, seu navio vai afundar.
São palavras fortes, mas necessárias. No ínicio quantas ideias boas que lancei e foram um fracasso total... as coisas só mudaram quando decidi que precisava me especializar em vendas e prospecção. A matemática é simples e direta: produto ruim + marketing bom = vendas; produto bom + marketing ruim = fracasso.
4 / Não negligencie o UX e UI design
Lembra quando eu disse que consumidor pouco se importa com sua stack? Isso serve para tudo. Você pode ter um carro lindo (mas ruim) e um carro feito (mas excelente) um do lado do outro. A maioria das pessoas irão escolher o carro lindo. O que os olhos veem tem mais peso para a maioria das pessoas. Um excelente design é funcional, mas também é excepcionalmente bonito e único.
Eu entendo que você quer lançar um MVP com bootstrap... é mais rápido. Mas, eu recomendo fortemente que, ao invés de desperdiçar uma semana tentando fazer o seu algoritmo de busca economizar 250ms por causa de uma nova resposta no StackOverflow... cuide do seu design. O que o consumidor usa no final das contas, é o que ele gosta de usar seja por ser mais bonito, mais confortável, etc.
À exemplo, nós mesmos temos esse comportamento sem nem notar. Tem um aplicativo excelente para controle de compras no mercado (feito por um brasileiro). É o mais completo que já vi. Mas, desinstalei no meu primeiro uso real. A interface é ruim. É uma dessas libs prontas e o design era horrível, parecia um programa dos anos 90. Troquei por um que não tem nem 15% das funcionalidades, mas o design é tão funcional e tão bonito que prefiro perder em função do que perder em qualidade de uso.
Estudar design foi uma das coisas que também corri atrás por muitos anos. Fico impressionado como a maioria dos cursos de programação (até universitários) esquecem dessa parte. O que soa é que te formam para as massas, seja mais um funcionário excelente em excrever código-fonte. Na vida real, isso não te leva muito longe, mal te torna um sênior.
Em qualquer coisa que você for lançar no mercado, seja uma landing page para apresentar sua ideia, seja o visual da sua plataforma... atente-se para o design, tenha o cuidado de um artista e evite usar bibliotecas CSS. Não caia na armadilha de desenvolver um software "de programadores para programadores" se esse não for o seu público-alvo. O consumidor geral espera mais e confia mais em plataformas com visual mais autentico.
5 / Menos é mais, embora muitos não aceitem isso
Você resolver os problemas anteriores e agora você só precisa programar. Apenas relaxe que essa é a parte mais fácil. Porém, ela pode se tornar monstruosa. É muito comum durante o desenvolvimento, novas ideias acabarem surgindo e você colocar cada uma delas na sua plataforma antes de dar o pontapé inicial.
Pare com isso imediatamente! A sua plataforma não tem que ser perfeita e ter todos os recursos possíveis, ela tem que ser: funcional; bonita; única; e, resolver a dor de alguém. O resto é o resto, logo você deve se controlar para não inflar o projeto e constantemente adiar seu lançamento porque as coisas saíram do controle.
A recomendação aqui é simples, listar os requisitos da sua ideia e se ater a eles. Até na arquitetura. Foque no que você já determinou. Qualquer nova ideia, solução ou estratégia, anote em um lugar para você implementar assim que sua plataforma estiver no ar. Muitos ficam no loop constante de deixar a aplicação perfeita, tive colegas que ficaram por 15 meses produzindo uma aplicação até estar tão complexo que desistiram.
Para quem ama programar, acredito que essa seja a parte mais difícil. Como eu disse antes, se você descobrir em um texto que você leu hoje que utilizar a estratégia X ao invés da Y irá aumentar a performance do seu código em 8x... sei que você vai correndo implementar isso. Mas, esqueça! Segundos a mais ou a menos na execução do seu aplicativo, não é o que vai salvar no projeto.
Sempre pense no seu dia a dia... você costuma usar as coisas porque elas são boas, não porque elas são mais rápidas. Embora isso seja um fator, eu mesmo utilizo aplicações que não são tão rápidas, justamente porque elas resolvem meu problema de uma forma única. É assim que você deve conduzir a sua criação. Faça o mínimo produto viável para lançar o quanto antes e depois cuide dos por menores.
Reflexões
As vezes sua ideia é legal, sua capacidade é enorme. Mas é necessário entender que para empreender, lançar a sua ideia, você precisa de mais do que apenas saber programar. A dica que eu posso dar para quem não gosta de fazer tudo (vender, prospectar, desenhar, etc) é se juntar com pessoas que saibam fazer isso.
Vejo projetos com time de 3 ou 4 colegas programadores empenhados na plataforma. O ideal não é que todos saibam programar no final, mas que todos tenham skills que se completem. Isso sim é montar um time de sucesso. Entendo os seus pontos fracos complementando com os pontos fortes dos demais.
Se tem uma forma de resumir uma receita do bolo com alto potencial de sucesso:
- Trabalhe com a stack de você domina, sem inventar moda;
- Apresente a sua ideia para o público-alvo antes de começar a codar;
- Monte um plano de marketing, vendas e prospeção com um processo replicável;
- Crie uma interface funcional, bonita e única;
- Planeje os requisitos de um MVP e se controle para se manter nos limites estabelecidos;
- Caso não tenha as skills necessárias e não pense em desenvolvê-las, junte-se a pessoas que possuí aquilo que lhe falta.