Привет!
Как уже верно подметили другие, все очень ситуативно.
Могу сказать только о себе и своей точке зрения.
Некоторое время был репетитором по Java и заметил несколько основных (и вполне очевидных) моментов:
- Кто-то понимает определенные темы быстрее, кто-то наоборот. Определить это можно только де-факто
- Кому-то не нужны глубокие знания. И это уже дело принципа - насколько глубоко копать
Касательно моей истории - язык я начал изучать еще в школе, однако длительное время это ни к чему не приводило (в том числе из-за отсутствия дисциплины в этом деле). В какой-то момент после перегораний, смен интересов и окружающих факторов - я загорелся. Горю и до сих пор. Если вы полюбите тернистый путь, который вам предстоит проходить постоянно и сконцентрируетесь не на "надо пройти эти темы, потому что хочу пройти собес", а на "хочу пройти эти темы, потому что это что-то интересное и новое для меня", то думаю, что сможете с комфортом попасть в индустрию.
Комментатор выше привел хороший список литературы - однозначно одобряю. Советую со временем смотреть различные конференции (Джокер, Джуг.ru etc.). Касательно курсов по типу Скиллбокс'ов и прочих отношусь отрицательно. В некоторых вакансиях даже строго указано, что такие курсы не являются гарантом/плюсом при прохождении собеседования. Курсы со степика, курсеры и других ресурсов зачастую более структурированы и интереснее.
И еще один момент, хорошо, если вы владеете английским языком на уровне чтения документации и просмотра туториалов, а если нет - советую подтягивать его как можно быстрее.
Удачи!