Разбивай задачи на подзадачи, а вообще в этом дело как и в другом руку набить надо. Смотри, например, как делают другие, а потом пытайся повторить, вникая в каждую строчку кода. Ну и побольше задач решай. Тут дело практики. Потом сам удивишься, как видишь то, чего ранее не замечал
Реальные программы вы не начнете писать до тех пор пока вам это не будет нужно. Потому либо делать какой-то проект самому, либо идти на стажировку. Кому что проще.