Escreva menos código para resolver problemas mais rápido
Comece a usar seus conhecimentos de desenvolvedor para solucionar os problemas da sua Startup mais rápido e não apenas escrever CRUDs
Não, eu não estou falando sobre escrever funções recursivas, uma excelente Orientação a Objetos ou arquiteturas geniais.
A questão aqui não é o quão bom seu código deve ser para resolver problemas – isso é o esperado de qualquer bom desenvolvedor – mas sim a quantidade de energia e tempo que você vai gastar para resolvê-los.
Sempre que tiver algo novo que precisa ser feito, desde bugs à hipóteses para validar, pense: como posso resolver esse problema escrevendo menos ou nenhum código?
Partindo do princípio que somos desenvolvedores e estamos no time para tal, isso pode parecer bem contraditório. Mas o que as startups precisam mais do que devs são de hackers. Pessoas que vão tirar os problemas da frente para que o business consiga avançar.
Não é que você não deva passar seu tempo codificando, mas queremos que você invista seu tempo em coisas mais cruciais para a startup e ajude as várias frentes do produto a evoluirem, sem ter a sensação de que o desenvolvimento não acompanha ou atende a demanda do negócio.
Então, como resolver as coisas com menos código?
Só comece a programar algo quando tiver certeza do valor que aquilo deve entregar!
Nunca! Jamais, comece a desenvolver aquele “MVP/funcionalidade” que na verdade é uma implementação gigante e com o prazo pra ontem. Antes de tudo, tenha claro na sua mente qual o real objetivo dessa implementação e quais dados provam a necessidade disso para o negócio.
Existem startups e startups. Em algumas, menos pragmáticas, a demanda para a TI pode se originar de várias formas controversas: o cliente pediu; o CEO acha que assim fica melhor; já vendemos isso pro cliente; etc. Nesses casos tudo gira em torno do achismo.
Existem também casos onde a funcionalidade é complexa porque é a única forma que sua equipe enxergou para entregar valor ao seu cliente. Seja qual for a situação, você como desenvolvedor é a melhor pessoa para dizer como aquilo pode ser resolvido; pois você domina uma parte crucial do produto: o desenvolvimento técnico do mesmo.
E novamente, não estou falando apenas de código. Pense além! Pense em como resolver as coisas mais rápido usando tudo o que você tem ao seu alcance. Desde usar membros da equipe como concierge, até colocar códigos para interceptar requisições e tratar os dados de terceiro da forma como você precisa.
Use suas habilidades de pensar de forma muito lógica para escrever um "algoritmo mental" de como suprir as demandas do negócio de forma muito simples. Algumas boas reflexões antes de implementar uma funcionalidade são:
- Isso precisa mesmo ser desenvolvido ou é possível por em andamento sem escrever código algum?
- Como implementar essa funcionalidade mexendo o menos possível no projeto atual e usando serviços de terceiros para não reinventar a roda?
- Como podemos validar essa hipótese investindo apenas 1 ou 2 dias para desenvolver um experimento?
Quando você obter a resposta para essas questões, a funcionalidade/projeto vai deixar de ser algo gigante e incerto.
Seja um hacker de processos
Fazendo esse exercício, você vai começar a se tornar o que aqui na Automobi nós chamamos de Hackers de Processo — safo e verme também servem. Sempre que uma funcionalidade parecer muito complexa significa que há como simplificá-la. E quanto mais você mergulhar nas camadas de abstração, mais hacker você será e mais enxuta será sua solução.
No final, tudo acaba acontecendo em formas de experimentos. Então você estará colocando em prática os conceitos da metodologia Lean Startup.
Por último: Tenha claro as KPIs para seus experimentos
O que diferencia esses experimentos de meras gambiarras é que: alem deles serem resultados de um processo estruturado e pragmático, todos possuem KPIs. Ou seja, indicadores que mostram seu experimento deu TRUE ou FALSE, para em seguida aprender com eles. Por tanto é muito importante setar as KPIs para medir se suas ações atendem efetivamente as necessidades do cliente/negócio.
Ao meu ver, os melhores desenvolvedores para startups são aqueles que conseguem construir esse mindset de pensar sempre no simples primeiro. Sem comprometer a qualidade do produto ou o valor entregue aos clientes.