Photo by Jo Szczepanska on Unsplash

Como devo criar e organizar um projeto pessoal?

Hello world 👋 eu juro que ainda não desisti de escrever para vocês, mas tenho andado mesmo atarefado com o meu trabalho (se não sabes onde, podes ver melhor aqui) e por isso não consegui trazer conteúdo.

Hoje venho partilhar como crio/organizo um projeto pessoal. Já conseguiste acabar algum projeto desde que és developer? Ou não conseguiste acabar, tiveste logo pressa de ir para outro, ou até mesmo recomeçar? Porque é que isso acontece?
Isto já me aconteceu N vezes, e algumas vezes ainda acontece. Mas eu prefiro errar 100x e acertar 1x, do que nem tentar. Porque aprendo com o processo, e percebo se estou no caminho errado ou não. Pelo simples facto de ter falhado tantas vezes e de ter já lançado alguns projetos.
Se estão perfeitos? Claro que não, longe disso. Mas vou melhorando 1 por 1, pouco a pouco. E porque são projetos pequenos, digamos.
Onde podes procurar projetos? Posso dar-te aqui uma lista de API's que nunca mais acaba, para que tu comeces o teu projeto hoje.

Se fores beginner, começa pelo teu portfólio ou usa o curricullum do freecodecamp. É uma óptima ferramenta para o mercado de trabalho, ou para te dares a conhecer a outros developers sobre o teu trabalho, do que realmente és capaz de fazer. Não te podem apontar o dedo se tiveres provas (neste caso, são os teus projetos), right?

Ao criares projetos, não penses em projetos grandes (como um CMS ou um Ecommerce) são projetos que demoram imenso tempo, já existem projetos suficientes sobre estes temas (Open source e not) portanto, pensa em projetos pequenos, como uma "todo list" numa stack específica? Uma weather app?
São projetos que podem não significar grande coisa em conteúdo, mas mete online, talvez tenhas uma surpresa com isso!
Exemplo disso mesmo são os pomodoros timers, já existem tantas app/site sobre isso e, no entanto, existe cada vez mais pessoal a fazer projetos desse tipo :)
Portanto conselho número 1: Pensar em pequenos projetos, solidica conhecimentos com estes mesmos projetos e vais crescendo a dificuldade consoante a tua expertise sobre o tema.

Já te dei uma introdução do que vamos falar hoje. Agora vou partilhar contigo o meu processo.

Antes de planear o que seja, tenho sempre um trello comigo, ou o notion. Atualmente uso mais o Notion, a parte privada. Lá tenho os objetivos que quero para este ano, que projetos quero concretizar e que livros quero ler.

Por causa do COVID-19, até teria lugares para visitar com a minha família. 😔

Mas passando à frente, normalmente uso o método KANBAN, no trello ou Notion, e organizo-me da seguinte forma:

  • Uma coluna TODO: Onde coloco todos os projetos/estudos que quero concretizar para este ano;
  • Uma coluna Do Today: Onde meto tudo o que pretendo fazer hoje, como exercício, código do trabalho, código fora do trabalho, ler, etc etc;
  • Uma coluna In Progress: Para não sobrepor ao que estou a fazer quando faço pausas. É importante não querer fazer tudo ao mesmo tempo, às vezes acaba por ser um defeito meu que estou a melhorar com o tempo e hábitos que estou a construir.
  • Uma coluna Done this Week: Ter uma noção de quantos cards consigo fazer durante a semana. Consoante o que deves fazer, a complexidade de cada item, posso fazer tanto 10 como posso fazer 20/25 tickets noutras semanas. Muito depende de como específicas os teus cards.
  • A última coluna Archive: onde arquivo os cards e conto depois no final de cada projeto quantos consegui completar e como acabei o projeto.

Trello

Este exemplo está vazio porque não quero mostrar o original, tenho cards pessoais 😃

Outro método que comecei hoje e quero ver se resulta, é ter um quadro e escrever o que fiz cada dia e cada cor do marcador simboliza um projeto/actividade diferente:

Ainda me falta ler e são 20.00 da noite, not bad :P

Ainda me falta ler e são 20.00 da noite, not bad :P

Algumas coisas a melhorar: Horas a que se deve fazer todas estas coisas, e ainda ter tempo para a família (nunca esquecer),

Expliquei mais do que criar ou organizar apenas do próprio projeto, para dar-te a entender que devemos planear tudo e todos os nossos santos dias para no final nos sentirmos realizados. Construir hábitos, baby-steps, deixar as coisas fluir, ser responsável, dar a palavra e fazer realmente acontecer.

Tudo isto é um método, conhecido como o "The Whole-part Method" do Coach John Wooden.
Ainda não li sobre a sua obra, mas ele era um treinador de basquetebol, dos que teve mais sucesso nos EUA, ganhando 10 taças, e se querem saber mais sobre ele e suas obras, google it 😃

Mas focando no método, a intenção do treinador John Wooden era mostrar uma certa jogada/estratégia de jogo a toda a equipa, e para conseguir usá-las, dividia as mesmas em várias fases. Para isso mostrava aos seus jogadores como se jogava em cada fase, depois praticava essas mesmas fases com a equipa até todos conseguirem entender e realizar as suas tarefas. Uma estratégia simples e eficaz, que podemos também aplicar na programação.

Como aplicamos este método no nosso dia-a-dia?

Comecei a praticar esta técnica quando queria fazer tudo ao mesmo tempo, mas não conseguia fazer nada. Li um pouco sobre esse treinador e alguns livros sobre hábitos, e então comecei por partir o meu problema em partes!

Vamos seguir um exemplo para conseguir partilhar melhor a minha visão: vamos criar um portfólio pessoal:

Primeiro, vou fazer um mockup do que realmente pretendo no meu portfólio. O que cativa as pessoas a virem ao meu site? Qual o meu propósito? Após responder a estas questões, no meu exemplo, quero mostrar onde trabalho, quero partilhar o que sei, quero mostrar os meus serviços e ter uma página de contactos para me puderem abordar. (Apenas vou desenhar a Homepage)

All right, resultado disto:

Homepage

Encontras alguma semelhança? É o meu próprio site :)

Depois de ter o mockup, fiz o desenho, que vou saltar essa parte, foi todo o processo no qual demorei. Mas quem não tem essas aptidões (sim não é obrigatório um frontend saber sobre design gráfico) pode ver alguns recursos no dribbble, onde é um sítio que vejo e aprendo bastante, aqui pratiquei imenso HTML CSS e JS ao tirar imagens do mesmo, ajudando assim o criador.

Após ter a certeza do que queria e de já ter o desenho, sabendo também como se comportava em cada screen (isto é: mobile, tablet e desktop), dividi o site em componentes diferentes e separei cada secção (chamo secção de Header, Hero, Projectos, Footer). E fui fazendo o código por partes. É assim que estruturo e faço os meus projetos! 😃

Espero que tenhas aprendido algo com este post, que consigas chegar ao fim dos teus projetos, publicá-los e claro, que aprendas e te divirtas a criá-los..
Até amanhã malta e bons projetos! 😃