Как изучать машинное обучение?
Машинное обучение это вообще не про Python. Это больше к мат-статистике и обработке больших данных.
Задачи - классификация, регрессия и кластеризация e.t.c.. Алгоритмов и названий очень много. Некоторые из них могут повторяться в вариациях или иметь неточные русские переводы.

Фреймворк Apache Spark имеет следующий классификатор алгоритмов: https://spark.apache.org/docs/latest/ml-guide.html 
Ignite - вот такой : https://ignite.apache.org/docs/latest/machine-lear...

По поводу Python или Scala. Знающие маш-обучение таких вопросов вообще не задают. Для специалистов язык - вообще не имеет значения. Язык в данном контексте это как приложение калькулятор или spreadsheet. Это вспомогательный инструмент. Собственно эта наука вообще не про программирование. А про наблюдение глазами за процессом обучения и корректировку мета-параметров.

Тоесть инженер по маш-обучению не интересуется языком. Его глубже интересуют какой метод. И почему та или иная модель подходит а другая не подходит. Почему коэфф. детерминации такой и почему такая дисперсия. Почему факторы такие-то и такие-то и какие между ними существуют взаимо-влияния. 

На собеседовании тоже будут спрашивать про опыт. Что делал. Какие методы знаешь. Язык - опционален. Могут спросить - но будут предполагать что 99% ты выучишь новый язык если надо.
как происходит разработка в реале
Так и происходит - дают задачу, ты решаешь. И не всегда ты знаешь как её решить. Это нормально.

Может сначала следует освоить основы библиотек?
Сначала следует изучить основы программирования. А справочную информацию по библиотекам всегда можно найти в сети. Все библиотеки ты никогда не выучишь.