Resolvendo problemas
Sempre recomendo pensar em “resolver problemas”. Pode começar algum problema que você quer resolver (caso não tenha uma ideia do que construir). Por exemplo, algum conhecido seu precisa de algum sistema ou então você precisa de alguma coisa para ganhar produtividade, automatizar tarefas, facilitar visualização de algo para tomar decisões etc.
Se aprofunde no projeto
Não faça apenas login/cadastro e uma listagem. Tenta se aprofundar ao máximo.
Por isso você precisa fazer algo que te interessa inicialmente. Dessa forma você perde a noção do tempo e vai fazendo até ficar o mais completo possível para você.
- Pense em um problema
- Pesquisa e estuda como os seus concorrentes tentam resolver esse problema
- Tente extrair pontos positivos e negativos dos concorrentes para aproveitar o que é bom e melhorar (ou descartar) o que é ruim
- Tenta organizar essas funcionalidades e fluxos que você obteve e planejar uma versão 1.0, que precisa ja resolver algum problema, mas não precisa resolver todos os problemas de cara.
Não veja como um projeto de entrevista
Esse projeto precisa ser seu estudo, precisa agregar na tua carreira. Se você fizer algo apenas para apresentar para os outros, não vai investir tanta energia quanto algo para si proprio.
Não importa quantas entrevistadores te negarem a vaga, você vai continuar desenvolvendo esse projeto. A cada entrevista ele vai estar mais elaborado. As vezes você vai recomeçar o projeto pois aprendeu nesse meio tempo algo muito melhor.
Pegando gosto por construir sistemas e resolver problemas, quanto menos tu esperar ja vai ter uma bagagem boa se programação que será considerada em suas entrevistas.
Comunicação
Não basta saber codar. Tem que entender o que está fazendo e saber explicar.
Portanto, tente sempre explicar em voz alta o que você esta construindo, decisões que está tomando, como está resolvendo o problema.
Falando em voz alta, você vai perceber se realmente aprendeu ou está confuso. Então vai poder revisar e tentar entender de verdade. Além disso, vai treinar sua comunicação.
Não se esqueça também de treinar sua história, sua apresentação. Você precisa saber como você começou, o porque está programando, o que ja fez, o que anda estudando, projetos que construiu, como construiu, que tecnologias usou, etc.