Знаю, что получу много минусов, но всё таки…
«Надо начинать с лёгкого проекта» — самый ужасный совет новичкам.
Решая легкие задачи мозг затачивается под лёгкие задачи. А как только программист после такого «лёгкого» обучения сталкивается с действительно сложной задачей вся структура мышления ломается и обучаться приходиться почти сначала.
Меня в своё время учили гуру — «Решай задачи, в которых сам чёрт ногу сломит, только так научишься». Проверил этот совет на себе и полностью с ним согласен. Только решение сложных задач действительно учит.
Выберите сложную задачу (написать движок для соц.сети, браузерную игру, портал и т.д.) и работайте над ней.