Dicas para se manter focado e terminar seu projeto de hobby

Os maiores obstáculos para terminar seu projeto de hobby não estão relacionados à codificação. Eles são loucos.

Como muitos de vocês lá fora, eu tenho uma longa lista de ideias de projetos de hobby legal que eu nunca realmente começar por causa, você sabe, coisas mais importantes (trabalho diurno, vida, festas no fim de semana, etc). Bem, isso mudou recentemente por alguma razão, e no final deste verão, minha lista finalmente ficou mais curta por um.

 

Enquanto eu estava trabalhando neste projeto, eu fiz muitas anotações para mim. Lendo sobre eles, percebi que os maiores bloqueios não estavam relacionados com codificação. Eram mais como bloqueios mentais.

 

Continue lendo e eu vou compartilhar algumas das minhas viagens aqui.

 

Sobre o projeto

 

Antes de tudo, deixe-me contextualizar.

 

Minha ideia era simples: criar um jogo interativo que ajuda as pessoas a entender o valor esperado. É um conceito estatístico, a propósito, que eu acho super útil na vida cotidiana, mas eu percebi que muitas pessoas realmente não obtê-lo.

 

O conceito do jogo era simples:

 

O usuário tem uma pilha inicial: 10.000 unidades de dinheiro de jogo.

Em cada rodada, ela consegue um acordo. Algo como "Você tem uma probabilidade de ganhar 2% de dinheiro."

Ela pode decidir quanto do seu dinheiro de jogo ela quer arriscar.

E o objetivo é ganhar o máximo que puder em 50 rodadas.

 

Algo assim:

 

 

Então eu queria criar algo como um mini-cassino — só que ensina as pessoas a identificar um grande versus um negócio não tão grande (e por que vale a pena evitar cassinos, afinal).

 

Não sou um desenvolvedor web, mas estou bem confortável com o Python. Então eu decidi tentar aprender uma popular e simples estrutura web baseada em Python chamada Flask para este projeto.

 

O que eu tenho isso ??

 

O problema com projetos de hobby é que eles não pagam muito bem. Pelo menos, comparado com projetos da vida real. Mas projetos de hobby têm muitas vantagens legais que tendemos a esquecer. Para mim, particularmente, este projeto de hobby foi ótimo por várias razões:

 

Finalmente, eu tenho que aprender Flask na prática.

Em um projeto de hobby, ninguém me diz o que posso ou não fazer. Sou meu próprio chefe.

Posso adicionar esse projeto ao meu portfólio e ao meu CV (o que ajuda a se destacar quando me inscrevo em um emprego).

E bem, é muito divertido!

Mais um para mim: tenho um blog de ciência de dados onde publico regularmente tutoriais de ciência de dados. Um desses artigos era sobre o valor esperado. Você sabe que as estatísticas são consideradas chatas pela maioria das pessoas, então com este projeto em particular, eu fiz um dos meus tutoriais um pouco mais interativo e emocionante. Espero que eu tenha feito mais pegajoso.

 

A psicologia de um projeto de hobby... O que eu aprendi?

 

Mas vamos falar sobre a psicologia de um projeto de hobby e os bloqueios típicos que encontrei.

 

Como eu disse, quando fiquei preso, o problema nunca foi com codificação ou outros problemas técnicos. Claro, entender cada pequeno detalhe do Frasco era difícil às vezes — eu também estava caçando insetos por horas, com certeza. Mas as coisas que me pararam estavam relacionadas com a mentalidade.

 

Então, aqui estão alguns conselhos práticos para superar essas questões — para o meu eu futuro e para você — se você quiser fazer um projeto de hobby!

 

Encontre algo (que soa) simples

 

Eu tinha uma ideia muito clara do que eu queria como resultado final para o meu projeto de hobby. E, claro, mudou e evoluiu ao longo do tempo. Mas acho muito importante que eu tivesse um objetivo (ou visão) claro na minha frente.

 

 

Foi isso.

 

Um dos meus ex-gerentes disse que em qualquer projeto de codificação, passar do passo A para o passo B é assim:

 

 

Então, se sua estimativa realista é X horas de trabalho para uma tarefa, então, ele vai acabar por ser realmente ~três vezes mais.

 

Posso confirmar essa teoria com meu projeto de hobby. Pelo menos, eu definitivamente não pensei que eu teria que aprender sobre nginx,também, quando eu comecei. Mas depois de algumas horas vendo isso, tive que reconsiderar:

 

A questão é: a ideia inicial deve ser simples — porque mesmo isso se tornará bastante complexo.

 

Não tente reinventar a roda.

 

Como eu disse, usei Flask para este projeto. E enquanto está lindamente documentado...

 

... Eu não queria aprender com a documentação. É como aprender uma língua estrangeira com livros. Tudo bem, mas não é assim que aprenderá a falar.

 

Em vez disso, eu queria usá-lo. E o primeiro passo disso foi ver como os outros estavam usando.

 

Por exemplo:

 

Minha configuração inicial do servidor seguiu este tutorial do servidor DigitalOcean Flask.

Eu vi como Corey Schafer construiu um aplicativo web em Flask.

Quando fiquei preso a uma pergunta de "session_id", por exemplo, fui no Avance Network para descobrir como os outros resolveram o mesmo problema.

Isso foi muito mais fácil do que resolver problemas sozinho. Eu acho que muitas pessoas querem trabalhar para si mesmos o que os outros já descobriram e compartilharam.

 

Em vez disso, recomendo passar algumas horas aprendendo e construindo o que outros já criaram. Você vai chegar muito mais longe, muito mais rápido!

 

Venha com um protótipo de trabalho o mais rápido possível

 

Enquanto trabalha em um projeto, a motivação pode cair. Isso é normal. O primeiro grande impulso para mim foi ver meu primeiro protótipo funcionando!

 

Na verdade, aconteceu muito rápido, depois de algumas horas de codificação em um Caderno Jupyter. O código era feio. E eu não tinha um aplicativo, um site ou um front-end, também. Mas estava funcionando:

 

 

Eu tinha uma prova de conceito. Foi ótimo, porque quando você faz um projeto, há sempre aquela pequena incerteza de que sua ideia é estúpida e não pode ser feita. Mas quando você tem um protótipo de trabalho, toda essa insegurança se foi e torna-se muito mais fácil continuar.

 

Preparem-se para bloqueios.

 

Depois de ver o protótipo trabalhando no meu computador local, comecei a transformá-lo em um aplicativo Flask que funciona online a partir de um navegador.

 

Eu pensei, eu só vou ter que copiar o meu código, ajustar algumas coisas nele, e eu vou estar pronto para ir. Deve ser o mesmo código Python, certo? Bem, eu tenho que dizer, mesmo com anos de experiência sob o meu cinto, eu era muito ingênuo.

 

Transformar meu código Python compatível com Jupyter em código Python compatível com frasco levou dezenas de horas. Encontrei pequenos erros e erros, e como eu disse, eu não estava muito familiarizado com Flask, então eu tive que aprender a lógica dele e reestruturá-lo para que ele se encaixasse nessa estrutura. Foi uma fase muito frustrante no meu projeto de hobby.

 

Por sorte, eu tinha visto essa frustração chegando. Só não sabia em que parte do meu projeto apareceria. Já fiz projetos de hobby antes e sei que a parte mais frustrante será a mais gratificante, depois de ter feito. E desta vez também era verdade.

 

A maioria desses pequenos bloqueios me levou a coisas que tornam meu trabalho em outros projetos atuais de ciência de dados mais eficiente, também.

 

Por exemplo (confissão de entrada!), antes deste projeto, eu sempre fui preguiçosa demais para usar o manuseio de exceção adequada ('try-except') em meus scripts. Por muitos anos, eu estava bem sem ele (sim, eu sei o que você está pensando agora). Mas neste projeto, fui forçado a aprender para resolver um problema específico. E agora eu vejo como eu era estúpido eu não estava usando isso antes em outros lugares.

 

Então eu não tenho melhor conselho aqui, mas: prepare-se para bloqueios e trabalhe seu caminho através deles. Será a parte mais gratificante e útil do final.

 

Publique seu beta de trabalho

 

O segundo impulso de motivação em cada projeto de hobby é quando você pode mostrá-lo para os outros.

 

Para mim, esta versão demo era extremamente feia (eu nem me atrevo a mostrar o código por trás disso).

 

 

Mas não importava. Eu postei isso no meu Twitter... e as pessoas vieram e começaram a experimentá-lo.

 

Foi ótimo para três coisas:

 

motivação (as pessoas usaram o que eu construí!)

feedback (eles me enviaram os bugs que encontraram)

responsabilidade (a partir do momento que eu twittei sobre isso publicamente, eu realmente senti que eu teria que terminar este projeto ... caso contrário, seria embaraçoso)

Eu sei, isso soa como uma conversa vazia. Mas acredite, manter-se motivado e responsável é importante.

 

Você não deve se preocupar em polir tudo com perfeição. Não se preocupe com o design ou que seu código é feio e ineficiente. Apenas mostre seu beta de trabalho para os outros. E reunir feedback e motivação.

 

Nunca faça uma longa pausa

 

O maior erro que cometi durante este projeto foi fazer uma longa pausa. Como mencionado, trabalhei nisso durante o verão. Olhando para trás na minha ferramenta de rastreamento de tempo, eu tinha dois grandes lotes:

 

13 a 21 de julho de 2020

1 a 5 de setembro de 2020

Você pode detectar aquela pausa de 40 dias entre os dois? Bem, férias aconteceram. Talvez um pouco demais.

 

Francamente, foi um acidente e tanto que eu finalmente voltei e terminei o projeto. Foi só porque o Twitter me enviou uma notificação de alguém gostando do meu tweet sobre o beta de trabalho.

 

De qualquer forma: nunca faça uma longa pausa em um projeto de hobby! Tente lançar a versão 1.0 em uma tomada — caso contrário, você pode nunca terminá-la.

 

BÔNUS: Aproveite o processo!

 

E o mais importante de tudo: aproveite todo o processo!

Me chame de nerd, [Ed. nota: Nerd.] mas para mim essa visão (telas com código e wireframes) é um prazer absoluto:

 

 

home office + projeto hobby

 

Mais uma coisa aqui:

 

Fluxo é um estado de espírito diferente de qualquer outra coisa. E a codificação requer e suporta entrar em fluxo ao mesmo tempo.

 

Aqui está um truque - um pouco infantil - mas eu vou compartilhá-lo de qualquer maneira!

 

Minha playlist "feel like a hacker":

 

Nota: minha esposa sempre diz que meu gosto pela música está abaixo da média. Mas você será o juiz disso agora! Esta é uma playlist colaborativa, então compartilhe suas músicas de hackers favoritas.

 

Conclusão

 

Ei, e eventualmente eu terminei o projeto!

 

E essas foram as minhas seis dicas mais uma para começar e (talvez mais importante) terminar a ciência de dados — ou qualquer tipo de codificação — projetos de hobby. Espero que tenha ajudado.

 

E um último conselho para o final: a palavra "hobby" não significa que você não vai lucrar com o seu projeto. Tenha em mente, porém, que o lucro não é apenas dinheiro, então certifique-se de que uma vez que seu projeto seja feito, você publicá-lo (não apenas o produto final, mas o código, também, para o Github) e fazer com que as pessoas o vejam. Poste no Linkedin, Twitter, adicione ao seu CV, etc.

 

Talvez não seja sua próxima startup de um milhão de dólares (ou quem sabe!), mas é mais do que suficiente para sua carreira agora se as pessoas certas (por exemplo, os recrutadores certos) podem vê-la!

 

 

O Avance Network é uma comunidade fácil de usar que fornece segurança de primeira e não requer muito conhecimento técnico. Com uma conta, você pode proteger sua comunicação e seus dispositivos. O Avance Network não mantém registros de seus dados; portanto, você pode ter certeza de que tudo o que sai do seu dispositivo chega ao outro lado sem inspeção.


Strong

5178 وبلاگ نوشته ها

نظرات