Ещё один совет. Луше не садиться за свой собственный проект, а присоедениться к какому-нибудь из существующих. Что-то чем ты пользуешься регулярно и что хочешь улучшить. Перед созданием чего-то своего стоит набраться опыта у других людей.
Начинать лучше с своего велосипеда или форка. Это тот случай, когда благие намерения ведут в ад.
Два своих велосипеда развиваемые несколько лет (у одного даже несколько релизов и может им кто-то даже пользуется) принесли мне меньше опыта чем две недели обсуждения и переделок моего патчя в Qt. Когда несколько опытных разработчиков смотрят твои изменеия и просят их подправить, грамотно аргументируя свои просьбы, ты учишься куда быстрей.
З.Ы. Конечно если проект принимает любые патчи со стороны не зависимо от их качества, даже не глядя в код, то там ничему не научишься.
Ещё вопрос в том, когда следует от простого чтения книжек перейти к участию в совместных проектах.
Я в некоторой степени уже знаю Си и Си++, хотя до профи пока далековато (Страуструпа пока не осилил, хотя надо будет), потихоньку с Qt разбираюсь, и опыта катастрофически не хватает, надо набираться
Не знаю, стоит ли уже пытаться к какому-то проекту присоединиться. Да и ещё к какому именно проекту, тоже не знаю. Именно чтоб опыта понабраться