И одно другого не отменяет, но есть ощущение, что наличие живого преподавателя может значительно ускорить процесс.
Однажды я занимался подобной фигнёй в универе. Как по мне, живой препод - бесполезный для вас человек в этом деле. Учитесь учиться сами, вот это бесценный опыт. Тем более интернет кишит тематическими форумами, кучей спецификаций к стандартам... в общем всем что вам нужно для этого дела. ( ИМХО, самый полезный навык - навык поиска информации. )
Берёте самую распространенную книгу по полюбившемуся инструменту разработки и начинаете изучать(вспоминать) азы. Потом, когда инструмент изучите, переходите к попыткам проектирования сложных систем... Всё постепенно. Все так делали)
Программированию нельзя научить, ему можно только научиться.