Ogólnie zasada jest taka, "Dajcie ludziom troche Pythona, matematyki i ze 2 ksiązki i liczcie na to, że kogoś to zaiteresuje na tyle mocno, że będzie chciał brnąć w to dalej". Ja od razu Ci napiszę co będzie potrzebne mając nadzieję, że Cię nie zniechęcę. Po pierwsze matematyka i język angielski. Matematyka dyskretna, algebra liniowa, analiza matematyczna, statystyka, algorytmika i struktury danych oraz język angielski są o wiele wyższym priorytetem niż język programowania, który sam w sobie niczego za Ciebie nie zrobi. Python jest popularny ze względu na mnogość dostępnych narzędzi, jest łatwy do nauki i promowany na uczelniach jednak im wyższy poziom projektu tym Python staje się mniej użyteczny i traci na wartości. R jest ciekawym narzędziem do analizy statystycznej i wizualizacji, warto go znać. Osobiście postawiłbym na Scala/Clojure/Spark/Hadoop i R do Data Science oraz Python (do nauki podstaw), Common Lisp, Clojure do ML i AI. Stawiaj bardziej na programowanie funkcyjne niż imperatywne i szukaj materiałów, które pomogą Ci przystwoić ten paradygmat. Ogólnie czeka Cię masa nauki na wysokim poziomie, Big Data Science i ML to nie web developerka.
Materiały do nauki znajdziesz tutaj
http://www.foxebook.net/ , słowa kluczowe (scala, functional programming, functional data structures and algorithms, spark/machine learning/data science, hadoop, concurrency, akka, python, clojure, common lisp, big data science, data analytics)