Outros cobriram muito, mas quero focar nesta parte:
Sinto-me culpado por não ter um projeto de hobby, mas tudo o que consigo pensar em fazer já foi feito. Então, eu estou meio que pensando nisso, iniciar algo que já foi feito ou deixá-lo até que eu invente algo original?
Parece-me que isso erra o objetivo de um "projeto de hobby". Certamente é verdade que muitos projetos de hobby são criados para outros, ou pelo menos com o consumo público em mente - esses projetos exigem uma certa quantidade de trabalho consistente ao longo do tempo e podem ser assustadores por esse motivo. Afinal, quem quer fazer mais uma coisa ou outra sub-suportada e de baixa qualidade que acaba sendo abandonada depois de alguns meses?
Mas não há razão para que seu projeto de hobby tenha que fazer algo útil para alguém. Por exemplo, recentemente comecei a aprender Haskell , apenas porque é drasticamente diferente das linguagens imperativas com as quais estou acostumado, e é realmente fácil de configurar. Eu também comecei a aprender a linguagem assembly Redcode , usada no jogo de programação Core War , novamente por curiosidade.
Por sua vez, isso me levou a estudar a criação de um plug - in do Notepad ++ para fornecer melhores recursos de destaque de sintaxe para o Redcode, o que me levou a considerar aprender um pouco de C ++ . Com base na minha familiaridade comparativa com o .NET, agora estou pensando em me configurar com o Visual C ++ .
E o fato é que nada disso realmente "importa", pelo menos não como um projeto. Inferno, não tenho certeza se você poderia chamá-lo de um projeto em si , tanto quanto um monte de coisas com as quais estou meio que mexendo, porque isso chamou minha atenção. Quero dizer, você precisará de um pouco de tempo e organização para garantir que realmente obtenha algo, mas ninguém se importará se eu parar de ter tempo para Haskell assim que a escola começar.
E ninguém se importará se o desenvolvimento de plugins para o Notepad ++ for mais difícil do que eu esperava, e desisto - de fato, observei o Perl antes de entrar no Redcode e o abandonei rapidamente porque tive dificuldade em obter o ambiente configurado corretamente. Isso mostrou falta de persistência? Sim. Mas ninguém se importa, porque é o meu hobby , e isso significa que eu brinco com o que eu quiser.
Portanto, não sinta que precisa escolher um projeto de hobby que o ensine Habilidades Comercializáveis - isso está apenas transformando seu tempo livre em mais tempo de trabalho não remunerado. As habilidades são resultado do que você faz, mas não é o motivo . Entendo melhor a programação declarativa agora, e como as linguagens assembly funcionam e como os programas usam DLLs. E aprendi várias coisas sobre o prompt de comando do Windows e outras coisas que você não imaginaria estarem conectadas a qualquer coisa que mencionei até agora.
Nesse ponto, encontre algo completamente novo e veja se é tão interessante quanto parece. Se for, ótimo, e se não for, siga em frente. Você já teve a menor curiosidade sobre compiladores ou intérpretes? Vá dar uma olhada no LOLCODE . Se isso o deixa tão feliz quanto eu, é hora de começar a aprender sobre os compiladores . E ei, talvez você deva voltar e pensar no destaque da sintaxe novamente. De fato, este provavelmente será o próximo projeto que eu inicio.
Se não é esse o seu caso, tente algo de nível inferior ao que você está acostumado. Ou de nível superior. Não importa. A única coisa que faz questão é que quando você olha para ele, você pensa "Fun!"