Como aprender Ciencia de Datos es una pregunta difícil de responder en forma genérica, porque la respuesta es diferente para cada persona. Quizás lo más importante es ser lo suficientemente honesto contigo mismo para diferenciar entre interés y aptitud. Hay tantos campos dentro de ciencia de datos que la clave está en encontrar lo que te hace feliz hacer, que ojalá sea algo que logras absorber con suficiente facilidad para que no te desanimes.
Hay una respuesta a una pregunta similar sobre matemáticas que usa un desglose útil.
Al principio toma tantos cursos introductorios como puedas y terminalos, inclusive cuando ya te aburren, a menos que después de los primeros dos vídeos dices: esto no es para mi (esta bien cuando eso pasa!).
Antes de comenzar a aprender a programar, toma el tiempo para revisar tus bases en estadísticas, y quizás tambien matemáticas. Parece que los cursos del Khan Academy son buenos para esto pero no tengo experiencia propia con ellos.
En general los siguientes sitios ofrecen cursos desde introductorio a avanzado:
Para evitar que te abrumes, toma uno de los learning tracks que estos presentan. Y sobretodo, siempre evalúa si cual utilidad practica (para tu carrera o tu trabajo) va a tener el curso que estas por comenzar.
Hay una buena lista de recursos básicos y libremente accesible en este website. Yo recomiendo que por lo menos lean un libro de principio a fin sobre estadisticas básicas y esos los hay para cada disciplina. Como biologo mi punto de partida es Biometry de Sokal y Rohlf. Busca el equivalente existe para el area en el que te formaste o en el que estas actuando.
Programar no se aprende de un libro (se aprende programando) pero libros ayudan una vez que ya tienes un poco de agilidad para entender el porque de las cosas y aprender sobre mejores practicas. Para R recomiendo el The Art of R Programming de Matloff y r4ds de Wickham y Grolemund. para Python personalmente tiendo a regresar y regresar en la documentación de paquetes, mas que en un libro pre-determinado. La documentación de por ejemplo pandas y scikit-learn es buena y accessible.
Si aun no sabes programar escoge R y deja Python por ahora a un lado (a menos que tengas una necesidad puntual para aprenderlo, de ser así escoge Python y deja R a un lado). R y Python son diferentes en la forma en que te expresas, y es mejor tener una buena base en una antes de aproximar el siguiente lenguaje de programación.
Si ya sabes programar, sigue en el lenguaje que conozcas hasta que te sientas cómodo y te expreses de forma fluida, antes de comenzar con uno nuevo. Después de R y Python es un mundo abierto de cosas por aprender, donde ya depende de lo que necesites para tu especialidad, o proyecto actual.
Si te puedes dar el lujo de estudiar meramente por el amor al arte esto no aplica. Para todos los demás tenemos que usar el tiempo limitado que tenemos para profundizar en temas que son directamente aplicables para nuestro trabajo. De que sacas mas beneficio: aprender a programar Spark en Scala, o aprender sobre Spark y aprender mas sobre R a la misma vez? Es un balanceo constante, y no sobra escribir tu razonamiento en notas para que después puedas regresar y ver porque tomaste una dirección u otra.
Hay tanto por hacer, y aproximaciones por reconocer, que te deseo que te diviertas mucho al aprender. Eso hará mas fácil tambien conectarte con otros que están aprendiendo y te van a ayudar en tu camino (así como pronto podrás encaminar a otros). Y si tienes otros tips y recomendaciones que funcionan para ti, mándamelo para incluirlos aquí.