Uma das perguntas mais comuns entre desenvolvedores iniciantes ou que ainda estão em fase de estudos, é:
Certo, estudei um monte de coisa legal, tudo parece muito útil e é um mundo totalmente incrível! Mas... como testar isso na prática?
Nesse caso acho desnecessário criar um repositório, teste rapidamente usando ferramentas como:
Costumo usar o Codepen para pequenos protótipos e o JSFiddle para testes mais simples que quero deixar guardado. Veja o que se adapta melhor a você.
Fica mais fácil para você mesmo ou outros desenvolvedores olharem seu código e fazer modificações caso queiram.
Esse é o caso de literalmente transformar seu estudo em um projeto e criar uma solução mais completa.
Quando colocar seu projeto no Github, vai dar a possibilidade de outros desenvolvedores estudarem e ajudarem seu projeto a melhorar. E claro, ele vai poder ser usado por outras pessoas.
Uma boa ideia nesse caso é procurar projetos já existentes que usem alguma técnica que você estava estudando (acredite, tem projeto para tudo) e contribuir de alguma forma, seja propondo melhorias, seja arrumando Issues já existentes.
Além de contribuir para um projeto (isso faz todos crescerem) e testar suas habilidades, ainda vai precisar seguir documentações, criar branchs e trabalhar em equipe. Vale muito a pena em todos os sentidos.
Qualquer administrador de projeto vai ficar feliz em receber sua contribuição.
Existe uma diferença muito grande entre contribuir para projetos open source, com todo tempo e tranquilidade, e desenvolver com prazos apertados e pressão do gerente de projetos ou do cliente.
Então pensei em uma solução para aproximar os estudos de cenários mais próximos aos reais:
Uma solução que parece ser muito boa técnicamente mas leva muito tempo para ser aplicada, nem sempre pode ser a melhor solução para projetos com prazo mais apertado.
Pensei portanto que você pode definir um prazo e ser você mesmo seu proprio gerente de projeto. Faça uma estimativa sobre quanto tempo imagina levar, e tente ficar o mais próximo possível disso. Assim você já vai ter uma idéia de tempo para implementar determinada feature.
Essa abordagem pode ser util especialmente para desenvolvedores que ainda não iniciaram no mercado de trabalho e assim podem se sentir mais confortáveis com pressão na entrega dos projetos.
Abraços!
:D