Я сам разработчик поэтому в моем ответе будет неизбежно больше информации именно о профессии разработчика. Ну и без этого никуда, будет некоторая предвзятость.
По поводу порога вхождения. На мой взгляд в Data Science он несколько выше. Поскольку нужен все же некоторый уровень "настоящей" математики. Что не так важно большинству программистов. Достаточно информатики, которая по сути и есть сильно упрощенная выборка некоторых разделов все той же математики.
По поводу понятности что конкретно нужно учить. Возможно Вам не совсем понятно что нужно учить чтобы стать разработчиком, поскольку Вы выбрали язык, а не направление программирования. Java много где применяется: мобильная разработка, большой серьезный web-бэкэнд, не самые критичные по ресурсам но со сложной логикой системы управления... Но вот только в каждой этой отрасли свой стек технологий. Который в разы сложнее самого языка. Поэтому когда Вы определитесь с направлением с которого хотите начать, Вам тоже будет хорошо понятно что надо учить в первую очередь. А что потом по ходу.
По поводу Java - лично на мой взгляд отличный кандидат на первый язык. Он классический, на нем много фундаментальной литературы. На нем хорошо изучать объектно-ориентированную парадигму, она там фактически в чистом академическом виде. В Java по большей части недопустимы, а где и допустимы не приветствуются, всяческое использование конструкций "не по назначению" ради лаконичности кода. Как например это принято в Java Script. Поэтому писать на нем возможно не так "прикольно и весело" как на JS. Зато код более понятен начинающему разработчику.
Во избежании холивара ремарка. Я как fullstack web разработчик много пишу как на Java+Spring, так и на JS+React или Vue. И люблю оба этих языка, каждый за свое.