Side Projects e a Lei da Intenção Decrescente
Desde que eu lancei meu blog novo (esse que você está lendo), eu aprendi muita coisa, principalmente sobre como encontrar motivação para trabalhar em projetos paralelos/pessoais.
No início de 2020 eu resolvi que iria fazer um blog novo para mim, com um novo design. Na mesma hora já troquei uma ideia com o Tiago, designer na Fuselab, e em pouco tempo ele já fez uma versão inicial do blog.
Naquela mesma semana eu abri uma nova branch no repositório do meu site (na época em Gatsby) e comecei a trabalhar no projeto. Decidi as tecnologias que eu iria usar e publiquei um tweet dando um spoiler sobre o novo projeto.
A ideia era usar Gatsby, Theme UI, TypeScript, NetlifyCMS e fazer testes com Jest, Testing Library e Cypress. Uma stack realmente impressionante, mas para um blog pessoal, onde eu escrevo ocasionalmente, será que precisa de tudo isso?
Logo nas próximas semanas eu já deixei o projeto de lado, assim como fiz milhares de outras vezes com outros projetos pessoais. E eu aposto que você já passou por isso também.
Todos os dias surgem novas ideias de projetos, sejam eles novos negócios ou até mesmo projetos Open Source. Rapidamente nos empolgamos com as novas ideias e com todas as possibilidades. O problema é que com a mesma intensidade que essas ideias e pensamentos surgem, elas vão embora.
Se em algum momento surgir a ideia de um novo projeto, não pense duas vezes e comece a executar. Faça somente o necessário, e lembre-se: menos é mais. Coloque logo uma versão inicial do seu projeto no ar e foque em criar adicionar novas funcionalidades depois.
Subir seu projeto, compartilhar com a sua família, amigos e começar a ver os primeiros usuários vai te motivar a criar novas funcionalidades e melhorar todos os dias. Se ficar querendo usar tudo que está no hype, no final vai desistir do projeto 💁🏼♂️
Esse tweet do Chris resume tudo. Nós programadores ficamos sempre nessa indecisão de quais tecnologias usar, de quais bibliotecas são as melhores e nunca executamos nossas ideias, ou damos início e logo deixamos de lado, por que não vemos resultado. Queremos ter tudo completo, tudo redondo para colocar nosso projeto no ar, e você precisa entender que esse dia nunca vai chegar, sempre vai ter algo para melhorar.
Você escreve código hoje, para daqui duas semanas querer reescrever tudo de novo, do zero.
Lei da Intenção Decrescente
A Lei da Intenção Decrescente (Law of Diminishing Intent) entra justamente aí, em um breve resumo ela diz o seguinte:
“Quanto mais você espera para fazer algo, maior a probabilidade de você nunca executar”.
Por isso, o meu conselho final é: não gaste tempo em decisões fúteis, como qual biblioteca de testes usar, ou se você vai usar Express ou Fastify no Back-End. Ninguém sem importa com isso, principalmente o seu cliente. O negócio é muito mais importante que o código. O código é só um meio, não o fim.
Do que adianta ter a melhor arquitetura, usar todos os padrões de projetos possíveis, ter 100% de cobertura de testes, se você não tem nenhum cliente pagando pelo seu produto?
Quando você já estiver rodando, com clientes, dinheiro entrando, e um time para te ajudar, você vai começar a encontrar um balanço entre código e negócio. Mas esqueça isso no início. Você nunca vai conseguir criar um projeto super escalável e que vai durar por anos, até por que as empresas evoluem, o mercado muda, e logo logo, você se pega em uma situação que precisa mudar tudo.
Compartilhe no Twitter.