Participar de um projeto de código aberto é certamente uma maneira de começar. No entanto, uso o software de código aberto há anos e, francamente, a qualidade em quase todos esses projetos geralmente está no banheiro. Se você aprender suas habilidades de programação e design inteiramente com elas, provavelmente escolherá algumas muito ruins juntamente com as boas, sem nenhuma maneira de diferenciar entre elas.
Para o que você deseja aprender programação ? A resposta para isso determinará o que você deve procurar e onde. Aqui estão algumas respostas comuns e minha opinião profissional sobre como buscá-las (lembre-se de que é apenas uma opinião, embora IMHO, precisa):
Só para dizer que você sabe como fazê-lo.
Então você realmente não precisa de um mentor, e o C ++ é um lugar ruim para começar. Eu amo C ++, é a minha primeira escolha para programação geral, mas, em vez disso, brinco com outra linguagem. Eu sugeriria Python; ele tem uma curva de aprendizado muito mais suave que o C ++ e, diferentemente de alguns idiomas (nenhum nome mencionado, eu não usava minha calcinha de amianto hoje), você ainda aprenderá algumas habilidades úteis, caso queira aprofundar mais tarde. Muitos dos conceitos podem ser traduzidos diretamente para C ++ se você decidir continuar nessa rota.
Apenas para experimentar e ver se você gosta.
Um projeto de código aberto pode ser bom o suficiente para isso. Escolha um programa que você gosta, mas com problemas ou irritações, e ofereça sua ajuda a quem o estiver executando. A maioria dos projetos de código aberto é aberta a contribuições, geralmente é por isso que eles são de código aberto.
No entanto, nesse caso, não tente C ++ como sua primeira linguagem de programação. Não é difícil dominar o básico, mas o C ++ é de nível baixo o suficiente para que você possa obter alguns erros sérios e muito difíceis de encontrar em seus programas. A menos que você já saiba que adora programar, ou seja tão teimoso quanto o boi proverbial, ou já tenha encontrado um mentor que possa apontá-lo na direção certa, isso acabará com qualquer interesse que você possa ter no campo. Veja a resposta acima sobre Python, é mais adequado para isso.
Porque você tem uma ideia para um programa específico que deseja escrever.
(Eu não acho que o OP esteja nessa categoria, vou colocá-lo para leitores posteriores.)
Você tem alguma idéia do tempo necessário para dominar o design e a implementação do programa? Como sugestão, é medido em anos. Você poderá criar um design meio decente após apenas alguns meses de estudo, se for inteligente e extremamente sortudo, mas qualquer pessoa com pouca experiência que precise trabalhar nele (incluindo você mais tarde) desejo que você nunca tivesse nascido - falo por experiência própria. :-) A menos que a idéia seja tão super secreta que ninguém mais possa saber até que ela termine, não se preocupe. Contrate um programador experiente para fazer isso por você, ou se você não puder pagar um, mas ainda assim desejar bastante o programa, ofereça parceria com um - você lida com o lado comercial e permite que ele lide com a parte da programação. A maioria dos bons desenvolvedores prefere programar, para que esse tipo de oferta valha a pena.
Porque você já sabe que é fascinado por programação e deseja aprender mais.
Então você está exatamente no caminho certo. :-) Seja como um hobby ou algo que você pode se tornar uma carreira mais tarde, se você tiver o tipo de personalidade que a acha infinitamente fascinante, a melhor coisa que você pode fazer é mergulhar nela. O C ++ é uma linguagem tão boa quanto qualquer outra, nesse caso, e um mentor definitivamente ajudará (e com mais do que apenas desenvolver suas habilidades; pode ficar sozinho sem amigos que compartilhem sua paixão).