Есть два крупных класса задач - бизнес задачи и расчётные задачи. Отсюда и рассуждайте. Есть, конечно, куча сайтов со всякими примерами и решениями, но хорошее правило - самому научиться видеть задачи, которые находятся вокруг вас. Очень много даже пользовательских задач сегодня не решены вообще никак. Даже под Windows. Или решены в количестве одной-двух программ с ужасным сервисом.
Вас что-то не устраивает? Берите и пишите. Основное набивание руки происходит не тогда, когда у вас что-то получается, а когда не получается час, два, день, неделя, но наступает момент, когда вы понимаете, вот оно - решение.
В программировании очень ценится самостоятельность. Самостоятельность в выборе задачи, в поиске решения и т.д., когда вы выносите на публику готовый продукт.