Вопрос в корне неверный, как и подход.
Для начала разработчики джуниор, мидл, сеньор отличаются не столько знанием большого количества технологий, сколько знанием определенных корнер кейсов в каких-то технологиях, так же они отличаются умением построить и спроектировать ту или иную часть системы, или систему целиком, зависит от опыта, который кстати тоже бывает разный.
Я бы сказал что не менее важны и так называемые софт скиллы, по сути это можно назвать именно опытом. Опытом общения с бизнесом и командой, умением передавать знания новым сотрудникам и так далее. Да и зацикленность на технологии тоже не самая лучшая черта, всё-таки для разных задач есть разные инструменты, и задача действительно опытного разработчика их подобрать, это я вам как человек который пишет именно на Java говорю.
Суть в том, что большинство этих умений невозможно получить в искуственной среде, ну не сможете вы изобразить давление бизнеса на себя, когда надо сделать какую-то фичу быстро, а лучше "вчера", а в таких ситуация аккурат и появляются различия и сразу видно насколько человек подходит хорошо к написанию кода который он пишет, как ведёт он с другими людьми в такой стрессовой ситуации, ну и так далее.
Я бы вам советовал уделить обучению год, но уделить крепко и серьезно, а потом искать позицию джуниор разработчика, а дальше уже продолжать обучение (это прийдется делать всегда) ну и получать реальный опыт в реальных условиях.
Вышло сумбурно, я не писатель, но надеюсь помог.