Не обращай внимания на большинство ответов тут, они поданы в негативном ключе и скорее нацелены на подавление твоей мотивации (какова мотивация авторов этих ответов - непонятно).
Расскажу свою историю. Я никогда программированием не увлекался, в школьные времена большую часть времени проводил за компом в игрушках - вот и в 11 классе подумал пойти в IT сферу, мол раз за компом люблю посидеть, то и там будет интересно.
Короче, информатику начал учить с нуля в последний год школы, успешно сдал её, поступил в ИТМО на разработку (не стоит думать что там чему-то учат). В первый год обучения мне было дико сложно, ничего не понимал, новый материал давался с трудом, задания кое как выполнял, тыря код из проектов одногруппников и интернета. Мне было настолько некомфортно, что я в конце первого года обучения хотел отчислиться. Хорошо, что этого не сделал.
В итоге, спустя два года обучения меня больше заинтересовала веб разработка. Благо у меня английский на очень высоком уровне - я начал смотреть различные курсы, чтобы оттуда черпать информацию (насчёт книг скажу так - для общего развития можно почитать какую-нибудь классику по CS, в остальном куда полезнее читать доки/статьи/смотреть курсы).
Таким образом через полгода я знал базовый стек по типу HTML, CSS, JS на более-менее хорошем уровне. С того момента уже около трех лет прошло, все также в свободное время смотрю курсы (уже вошло в привычку в свободное время открыть его на телефоне и залипнуть), делаю сайдпроекты, работаю.
Так что скажу так - если действительно тебе это нравится, то продолжай. Да, по началу сложно, особенно если нет бэкграунда. Будешь смотреть примеры кода и не понимать что они делают. Будешь читать статьи и не понимать о чем они. Это нормально. Вся эта информация так или иначе откладывается у тебя в голове, и все что нужно для её понимания - это определённые знания, которые соединят все о чем ты прочитал или узнал в единое целое. Иными словами, в очередной раз читая о чем то ты внезапно поймёшь то, о чем читал/услышал неделю назад.
Удачи.
upd. Нет ничего плохого в том, что будет больше теории, чем практики. Просто делай следующим образом: узнал что-то новое - поиграйся с этим в коде. Узнал много нового - попробуй из этого состряпать что-нибудь.