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.

 

Este artigo foi originalmente publicado em: https://medium.com/gdgcampinas/100daysofcode-o-que-eu-aprendi-em-20-dias-1a65f4d8ad3f