Этапы обучения программирования (Web/Mobile)?
Не надо распыляться.  Универсальные специалисты нафиг никому не нужны. 
Изучать все подряд на старте - абсолютно бессмысленно и даже вредно.
В сутках всего 24 часа и чем больше Вы потратите на практику конкретной дисциплины - тем более востребованным специалистом станете.
Хотите работать в web-frontend - учите html/css/js -> angular итд
Хотите работать в web-backend - учите (php или python или ruby) + sql + nosql + минимально html/css/js
Хотите работать в энтерпрайзе - учите Java в разрезе desktop/web
Хотите писать под ios - учите  Objective-C / Swift
Хотите писать под android - учите Java в разрезе android.updInqDream : В этом и проблема что трудно определиться с чего начать :) и остановиться на чем-то одном. Так как опыта нет то критерий только один это уровень ЗП. Ни про какие там удовольствия и увлечения от кодинга не имею понятия.
Ну потратьте неделю-две на каждую, посмотрите как пойдет, выберите к чему душа больше лежит.
Если выбирать по доходам на старте - то или mobile dev, или java.
Начиная с некоторого уровня (~2-5 лет индивидуально) доходы imho выравниваются что java что php что mobile dev.
Вообще вот очень похожий вопрос: Путь в быдлокодеры или как стать программистом с 0?
Встречал не однократно говорили для того чтобы учить и понять Objective-C нужно знать С++. То самое знание PHP подразумевает знание HTML+CSS+MySQL.
В данный момент у меня сложилось впечатление чтобы знать xcode и android sdk нужно учить сначала c++ и java соответственно. Или это не так ?