Юниоров - до хурмы. Миддлов и Сеньеров не хватает.
Опять же, где и как не хватает. В сфере товаров и услуг - не хватает, причём очень( сетевые магазины очень сильно это ощущают, ибо работал в сетевом магазине и пришлось параллельно придумывать костыли на соответствующее ПО, которое нам предоставили).
Если планируете с головой уйти в Java то Spring изучить желательно. Знание MVC значимый плюс в освоении JavaEE. MVC - это как "разделяй и властвуй". Многие плюются от этой технологии, но я пока не нашёл замену этой технологии. Hibernate позволит улучшить общение между БД и вашим проектом. Так что эта технология важна.
Я бы распределил бы так:
1 этап: JavaSE
2 этап: SQL и NoSQL хранение.
3 этап: JavaSE и SQL.
4 этап: JavaEE + Application Server.
Дальше можно быть уверенным что Вы спокойно браться за Spring и Hibernate.
На SE форсированно уйдёт 3-4 месяца. SQL столько же. JavaEE - потратите все остальное время.
Опять же. Фронтенд или бэкенд? Тут тоже надо понимать что вы хотите.
Определитесь с целью и гребите в её сторону.
P.S. Я сам стоматолог, сейчас пишу проект по хранению клинических случаев.
Мой стек [JavaEE(JSF, JDBC) + MySQL + Wildfly].
Вот, посмотрите
здесь.