#100DaysOfCode — O que eu aprendi em 20 dias?
English version here.
No final de janeiro desse ano resolvi abandonar um curso que estava fazendo e partir para uma coisa mais objetiva e rápida. Acabei reencontrando um artigo no medium que falava sobre o desafio dos #100DaysOfCode.
A proposta do desafio é simples: Programar por pelo menos 1 hora durante 100 dias.
Depois de entender as regras do desafio, pensei em projetos que poderia começar e acabei decidindo por um projeto que eu tinha feito para testar bibliotecas como retrofit e glide. A minha tática foi reescrever esse projeto usando outros padrões de arquitetura e técnicas que eu não domino.
Como manda a regra, todos os dias tem um item novo no meu log e lá podemos ver que tive dias muito produtivos, dias que eu contava os minutos para dar 1 hora de código e largar tudo, dias que eu lutava com bugs e dias que eu era derrotado por eles.
Today was a good dev night!
The night was not productive.
Just one hour coding, cause my mother is here.
JobScheduler is a gift from heaven!
Stupid receiver!!! I wanna kill you!!!
Mas, o que há por trás disso tudo? Tudo que eu citei acima faz parte da vida de qualquer pessoa…altos e baixos, momentos bons e outros nem tanto. Mas o que eu fui capaz de tirar de lição disso tudo?
- É mais fácil do que parece: Apesar de parecer muito tempo, 1 hora passa voando.
- É mais difícil do que você imagina: A preguiça e a procrastinação vão ser inimigos cruéis. A parte mais difícil é conseguir vencer essas barreiras.
- A vida vai tentar te atrasar: Hora extra, festa, cinema, viagens, visita de parentes. Tente lidar com isso e não cair no próximo item.
- Não deixe para fazer tudo com sono: A produtividade cai muito, os erros aumentam e você vai pagar por isso no dia seguinte.
- Muitas pessoas vão interagir com você: Seu git vai ficar movimentado e seus tweets serão notados.
- Muitas pessoas vão rir de você: Afinal de contas, quem em sã consciência perderia 1 hora por dia escrevendo código e postando sobre isso?
- Algumas pessoas vão te apoiar… e falar que sim, é legal perder (só!) 1 hora por dia escrevendo código.
- Testes são fundamentais: Não faça como eu e inicie o projeto sem testes. Apenas não faça isso!
- Crie projetos menores para entender melhor alguns conceitos: Estava com dificuldades para entender o uso de JobScheduler e a biblioteca Dagger2. A melhor maneira de compreendê-los, foi fazendo um projeto separado só para validar conceitos.
- Leia: Documentação, posts, artigos, fóruns. O conhecimento está aí para quem quiser e souber buscar.
- Escreva: Não encontrou informação disponível sobre algo que procurava, mas descobriu como fazer? Compartilhe! Escreva você mesmo e ajude o próximo.
Bom, essas foram algumas coisas que eu percebi durante os primeiros 20 dias de desafio. Vamos ver se mais pra frente alguma coisa muda.
Gostou do texto? Clique no botão Recommend, logo abaixo. Fazendo isso, você ajuda esta história a ser encontrada por mais pessoas. Seu comentário, crítica ou sugestão também são bem-vindos.