Начинать можно по-разному: я, например, первый год тащился от ассемблера, но, тут важно понимать, что именно нужно. Если сразу тянет в web - лучше с него и начать. Что могу сказать из личного опыта, кот. не такой уж и большой:
1. Мне очень понравился Ruby - это прямо тот язык, который я искал: простой, по-своему эффективный и очень хорошо работает с массивами. Прямо сейчас см. на "Программирование на языке Ruby" Х. Фултона и "Гибкую разработку веб-приложений в среде Rails" от C. Руби и Ко. В принципе, это может быть любой язык, главное, чтобы книга была с примерами. Сейчас в основном все свои - небольшие, т.к. я всё же не программист по профессии - проекты делают на PHP. Но это не дело вкуса, а некая неизбежность в моём конкретном случае.
Например, базы данных - лучше учите сразу так, как оно есть сегодня, а не так, как пишут в 1001 странице "учебников для начинающих". Это сложнее, но зато полезней. Опять же из опыта: для меня PDO был(а) небольшим, но открытием. Хотя стоило бы начать изучение с этого - многое бы стало очевидным.
2. Форумы - советую на них регистрироваться, но не ждать многого: до Хабра я вообще не верил в то, что где-то дельно отвечают. Чаще помогает чтение мануалов. Это сложно, но зато тебе не скажут 314 раз, что ты - лузер и это и так всем известно: но не пояснят, что это и что известно. Единственно, на мой взгляд, зачем точно нужны форумы - это для того, чтобы найти готовые решения на неочевидные для новичка задачи. Так, например, было с регулярными выражениями. Кстати, очень советую в 1й год посвятить этой теме отдельное место и период. "Регулярные выражения. Сборник рецептов" от Я. Гойвертса и С. Левитана - очень хорошее в этом подспорье.
3. Сейчас множество онлайн школ (даже 5 лет назад их было в разы меньше). Какие-то курсы, на данный момент, правда, это вёрстка, можно проходить там. Опять же по опыту - не плохо. Но платные курсы - это спорный обычно вопрос, т.к. дают они не намного больше.
4. Но главное, конечно, это кодить. Читать - и кодить. Искать готовые рецепты - и снова кодить. Тут важно найти удобные инструменты и уделять программированию не меньше 30-40 минут в день: можно хоть и сутки - но это эффективно не всегда. Главное - непрерывность и последовательность в процессе.
И ещё: когда-то я прочитал статью "Научитесь программировать за 10 лет", суть кот. заключается в том, чтобы стать хорошим программистом, а не просто научиться писать программы, нужно подойти к процессу основательно и выделить на это не 1 год. В наше время это, наверное, абсурдно, но по итогу меньше времени всё равно потратить не получится.
Удачи Вам! Это просто ремарки "из жизни", а не инструкция к действую конечно же