Вопрос: Куда двигаться в веб-разработке?

Лучший ответ:
Перво наперво определитесь, хотите ли вы стать профессионалом или просто хорошо делать сайты. Я бы предложил выбрать путь профессионала. 
Во вторых определитесь, каким именно профессионалом вы хотите стать:web - мастеромFront endBack endDesktopДругого направления
Как только вы определитесь с направлением, делайте основной упор на изучение тонкостей свойственных именного этого направления.
Здесь вам советовали сменить язык, не слушайте этих советов. Да Ruby имеет некоторые преимущества перед php, но имеет и недостатки. Не думайте, что если вы выберите Ruby (python) ваша жизнь измениться, вы не получите ничего, что не может вам дать php и на оборот, эти увеличенные зп и прочее миф, язык не важен. Помните, ЯП это всего лишь инструмент, вы конечно должны иметь инструмент, и должны знать свой инструмент в совершенстве, но умение программировать заключается не в этом. Да, плотник алкоголик, который зарабатывает на жизнь забивая гвозди, может хвалить свой молоток и всем рассказать, что молоток его кормилец, но согласитесь настоящий строитель умеет не только гвозди мотком забивать, не говоря уже об архитекторе, который молоток и в руках мог вообще не держать.
И так предположим, вы выбрали свой путь, вы выбрали направление и выбрали инструмент. Теперь вам нужно работать в этом направлении (как над собой, так и в буквальном смысле работать). Читайте статьи, читайте книги (я всегда рекомендую только одну книгу - "Совершенный код", ее без преувеличивания должен прочитать каждый программист), изучайте новые фреймворки, технологии, отрасль постоянно движется вперед, вам нужно двигаться вперед еще быстрее, что бы хотя бы не стоять на месте. В процессе работы над проектами вы будете чувствовать нехватку знаний (вы упоминали js, ООП), устраняйте эти пробелы книгами (не стоит бояться 900 страниц, книги вы ничем не замените, их необходимо читать), статьями и конечно практикой. Не переживайте по поводу отсутствия высшего образования, оно не дает глубокого знания, никто не расскажет вам ни каких трюков, если у вас не будет толкового преподавателя. Но толковый преподаватель, это не обязательно учитель в универе, это может быть автор книги (например Макконел), автор хорошего инструмента (например Taylor Otwell), большинство очень известных и авторитетных людей генерирует тонну информации, книги, статьи, записи в соц. сетях, код, все это можно читать и это даст вам куда больше чем ВО. И да, мы с вами живем в уникальное время, время интернета, где нет расстояний, и это дает намного больше возможностей, чем нагуглить очередной костыль для jquery от школьника, вы можете общаться лично например со Страуструпом или тем же Тейлором, ни в одном учебном заведении России у вас не будет возможности поговорить с такими людьми.
Подведя итог:Определите путь (хотя бы примерно)Определите специализацию (хотя бы примерно)Выберите инструмент (один основной язык, один основной фреймоврк, одну основную cms и тд)Изучите свой инструмент в совершенствеПробуйте другие инструменты (да я сказал один яп, один фреймворк, но один вы должны знать в совершенстве, остальные должны попробовать)Расширяйте кругозорРаботайте над собойРаботайтеВыберите наставников и учитесь у них
Следуя этим советам вы увеличите свой скилл, сможете сами отвечать на вопрос заданный в заголовке и станете профессионалом. И помните путь профессионала, это постоянная работа (как буквально работа, так и работа над собой, если просто писать сайты 24/7 вы тоже профессионалом не станете), гораздо больше чем 8 часов в день, 5 дней в неделю.

Худший ответ:
Вот на эту тему образования коммикс: 
imgs.xkcd.com/comics/11th_grade.png
И манифест(немного из другой оперы, но вдохновляюще) :
macode.ru
Что-бы чему-то научится --- "Пиши код, бл#@ь".
Хочешь подучить JS? Выбери задачу с кучей JS кода и пиши пиши пиши, можешь по примерам, статьям в интернете, переделывать чужое решение, это не важно, пиши пока руки в кровь не сотрутся. Это лучший способ.
ООП и прочее, для начала разберись с базовыми понятиями. Прежде чем их применять, пойми как оно устроено. А потом, опять же : выбери задачу и вливай в нее столько ООП сколько сможешь. 
ООП я бы сразу вместе с Java(например, первые 10-20 страниц Thinking In Java(на русс. Философия Java), как я помню уже должны будут вправить тебе мозги), даже если Java тебе не попрет, как минимум учить удобнее будет.
Все то время что ты ждешь ответ от кучи незнакомых людей из интернета, которым по сути на тебя плевать, ты мог бы потратить на то, чтобы писать код и стать лучше. :)