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 tecnicamente 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 próprio 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
Estou neste momento me atualizando em relação aos websockets. E me pergunto a mesma coisa: blz, legal, e agora, como colocar em prática? Eu baixei o chat de exemplo do socket.io pra analisar o código que é simples e estou estudando a implementação do protocolo nos servidores com linguagens como PHP.
Pra justamente praticar mais, eu estou dando mais valor ao Github e estou forkando e lendo códigos de outros para aprender mais e até quem sabe, contribuir. o/