Já ficou na dúvida entre permanecer em um projeto pessoal ou criar o próximo?
Eu já, várias vezes. Essa dúvida é constante na minha vida.
Tanto os projetos que tenho no meu Github, quanto os posts do blog, sempre penso se aprimoro ele, ou passo para o próximo. Além de não saber qual decisão tomar, eu não sabia nem no que pensar para tomar essa decisão.
Após criar alguns projetos na vida, consegui listar pontos a considerar.
Aprendizado: o quanto você já aprendeu com esse projeto? E quanto ainda pode aprender?
O quanto tu pode aprender com o projeto atual?
No começo tudo é uma maravilha. Desbrava novos desafios, aplica coisas novas, resolve problemas, vê recursos novos nascerem, melhora a estrutura do software, resolve bugs... Mas sem perceber, de uma hora para outra você está apenas aplicando o que já sabe, sem aprender nada novo.
Esse é um dos primeiros sinais que me fazem pensar em mudar de projeto.
O que você já aprendeu com o projeto atual? O que você ainda pode aprender?
Há muitos anos, criei um projeto que gerava os números da megasena naquele estilo de bolinhas:
O sistema gera um número entre 1 e 60. Entre o 10 e o 60 as bolinhas ficavam perfeitas, mas entre 1 e 9 (com apenas 1 dígito) não tanto:
Se o número fosse entre 1 e 9, eu precisava saber como acrescentar um zero antes dele. Inicialmente criei um if
que verificava quantos dígitos tinha o número e acrescentava o zero ou não:
function foo() {
const numeroGerado = getNumero();
if (numeroGerado.toString().length === 1) {
return `0${numeroGerado}`;
}
return numeroGerado;
}
Mais tarde descobri que poderia fazer a mesma coisa com 1 linha:
function bar() {
return `0${getNumero()}`.slice(-2);
}
E com isso cheguei no resultado que queria:
Depois disso, percebi que estava na hora de deixar esse projeto para trás.
Querer aprender e gostar de estudar é uma característica muito importante na nossa área. Se eu estivesse em um podcast (aqueles com mesa e live) e me perguntassem uma característica importante para trabalhar com tecnologia, eu responderia curiosidade em saber como as coisas funcionam (e em seguida rezaria para isso não virar corte de Tiktok/Reels).
Essa curiosidade aparece tanto no momento em que você desmonta um carrinho de controle remoto para entender seu funcionamento, quanto quando você faz engenharia reversa daquela lib famosa que manipula e formulários em React.
Existem mais aplicativos de listas de tarefas do que grãos de areia na praia. Mas o que a pessoa dev faz quando começa a estudar programação? Cria o seu próprio aplicativo de lista de tarefas!
Tem muita crítica em cima desses projetos que apenas copiam a interface do Spotify, a interface da Netflix, mais um app de tarefas, etc... eu particularmente vejo muito valor nisso, pois existem muitas possibilidades de aprendizado. Desde que você não copie o código do bootcamp da moda e que o repositório não fique igual ao de outras 5 mil pessoas.
Outro questionamento: esse projeto é importante para sua carreira, currículo ou entrevista? Ter um projeto com essa stack, nível de dificuldade ou segmento vai te colocar uma posição melhor no mercado?
Pense nisso.
Comunidade: outras pessoas contribuem e usam esse projeto?
Esse fator pode não acontecer no começo da sua carreira. Mas com o tempo sim.
Se o projeto é algo individual, é um pouco mais fácil tomar essa decisão. Porém com outras pessoas envolvidas, complica um pouco.
Quando você começa um projeto e cria o repositório numa plataforma como o Github, existem diversas ferramentas que facilitam a construção em grupo, sugestões de alteração, resolução de bugs, revisão de código, etc.
Conforme seu projeto cresce, e outras pessoas colaboram, fica um pouco mais difícil abandoná-lo. Pois nesse momento você se torna o responsável por tornar aquilo um "caos organizado". Definir padrões de commit, PR, releases, e muitas outras responsabilidades.
Porém, algumas das pessoas que contribuem, podem querer ajudar a organizar. E esse é um grande momento para eleger moderadores, criar um README.md
bem escrito, entre outras regras que fazem a comunidade andar com as próprias pernas.
Pense nisso.
Stack: você quer se aprimorar nas tecnologias desse projeto?
Certa vez fiz um teste técnico para um entrevista.
Eu tinha 4 horas para finalizar 4 desafios. Levei 3 horas e meia para fazer apenas um deles, um conversor de decimal para binário. Tudo bem.
Entre as linguagens permitidas, eu conhecia mais Python, pois estava aprendendo na faculdade.
Após terminar o desafio, eu queria colocar o projeto no meu Github. O ponto é, como meu foco sempre foi o ambiente web e front-end, resolvi converter tudo para Javascript . E foi assim que eu fiz.
Apesar de não ter passado na vaga, aprendi bastante coisa sobre:
Javascript
Manipulação de DOM
E claro, binário
E esse é outro fator para levar em consideração quando você está a fim de abandonar um projeto. É a stack que:
Você quer se especializar?
Você precisa usar para um teste técnico?
Está com oportunidades no mercado?
Você gosta?
Pense nisso.
Desejo: você tem vontade de continuar com esse projeto?
Ei, você leu o título? Então responde...
Você tem vontade de continuar com esse projeto?
Não estou dizendo que vontade é o único fator para isso, até porque na vida você precisa fazer muitas coisas desgostosas, como acordar cedo segunda-feira. Mas esse é sim mais um fator para tomar essa decisão.
Se a vontade for praticamente zero, os outros fatores têm que ser muito fortes para manter você ativo no projeto.
Eu tenho uma certa dificuldade em largar as coisas pela metade, mesmo quando elas não me agradam. Como filmes, séries e jogos. Mas acredito que isso é um hábito bem ruim, o certo seria desapegar mesmo e partir para o próximo.
Se você também tem esse hábito, tente perceber se não é isso que mantém você preso a projetos desinteressantes.
Outro ponto é diferenciar a vontade de executar o projeto tarefa a tarefa, e a vontade de atingir o resultado do projeto.
Por exemplo, algumas tarefas aqui blog são meio chatas, como escolher título, descrição e uma boa imagem de capa. Porém sei que no geral eu ganho muito ao compartilhar conteúdo.
Você pode não estar tão satisfeito com um projeto, mas ao finalizá-lo, o que ele te trará de bom? Por outro lado, alguns projetos valem mais apenas quando as tarefas são legais do que o resultado em si. Tudo varia, tudo muda, tudo é fase.
Pense nisso.
Retomar o projeto: se eu abandonar agora, como será voltar nele no futuro?
Existe chance de você querer voltar nesse projeto?
Vou contar sobre coisas que já pensei aqui mesmo no blog. Além de postar por aqui, divulgo os conteúdos também no Medium e Dev.to . Já pensei várias vezes em publicar apenas lá, em vez de ter um site pessoal com domínio próprio. É muito mais fácil, pois terei menos preocupações com:
Design da página, layout
Problema de deploy
Stack
Bugs que podem quebrar uma página
A hospedagem ou o CMS não terem mais planos gratuitos
Etc
Porém o blog pessoal me dá várias possibilidades que, apesar do trabalho, ajudam muito no aprendizado:
Eu aprendi como subir um blog quase do zero
Aprendi sobre rotas
Aprendi como montar uma paginação
Fiz uma busca longa e repleta de referências para montar todo o layout do site
Além de eu poder usar o blog como um laboratório pessoal. Por exemplo, no futuro quero migrar o projeto de Javascript puro para Typescript , e trocar o Styled Components por outra ferramenta de estilização. Por enquanto é isso.
E se eu realmente cansar de tudo isso e quiser apenas escrever sem me preocupar em desenvolver um blog? É só parar.
Mas e se eu quiser voltar a ter o blog no futuro? Agora sim o ponto principal.
O quão difícil seria para retomar? Eu precisaria repostar aqui o conteúdo retroativo que só postei em outras plataformas? O Google iria penalizar o meu domínio (demenezes.dev) por ficar tanto tempo sem atualizar o site? Eu perderia pontos de SEO? E se no futuro eu quisesse abandonar novamente? E retomar novamente?
Pense nisso.
Callback
Para você decidir se deve seguir em um projeto pessoal ou partir para o próximo pense nesses pontos:
Aprendizado
Comunidade
Stack
Desejo
Futuro.
O primeiro ponto é sobre o aprendizado. Perceba se você aprende com ele ou apenas executa coisas que já sabe.
Olhe também para a comunidade, quantidade de pessoas que contribuem ou usam o projeto. Se puder eleger pessoas para administrar e moderar o repositório, é uma ótima chance de partir.
Veja se faz sentido investir nesse projeto caso ele use uma stack que não te atrai ou não te abre portas no mercado.
Olhe também para seus sentimentos (profundo). O quanto você tem vontade de continuar nele? Aqui ignore os motivos racionais e grandes justificativas, olhe apenas para o que você realmente sente.
Por fim, o que aconteceria se, após desistir, você quisesse retomar esse projeto no futuro? Seria fácil voltar?
Pense ni...
Agora coloque essas dicas num liquidificador, adicione seus próprios pontos e tome sua decisão.
Não esquece de comentar aqui embaixo quais são outros pontos importantes para essas situações.
Apesar de parece que esse post é uma lista de dicas minhas para você, eu também escrevo isso para o André do futuro. É bem provável que eu passe por essa dúvida, assim como já passei antes.
Se achou o conteúdo interessante, e gostaria de dizer um obrigado, compartilha com algum amigo, ou nas redes sociais 😀
Até a próxima!