¿Cómo puede alguien que tiene una formación matemática decente pero cero experiencia en programación convertirse en un gran científico de datos?

La verdad es que necesitas comenzar a programar para convertirte en un gran científico de datos. Un científico de datos puede ser un ingeniero de software (alguien muy cómodo para programar y crear procesos de software), pero como mínimo deberá poder desarrollar código para limpiar datos y construir modelos.

Al igual que aprender un idioma extranjero, no aprenderá hasta que lo pruebe; a veces, tomar clases para aprender programación solo lo empuja más lejos del crecimiento desde el momento en que comienza a programar.

Si realmente le apasiona el campo, el mejor motivador para aprender a codificar es aprender de flujos de trabajo de ejemplo y encontrar un problema para trabajar que lo obligue a construir código para el proceso. Si comprende cómo funcionan los pasos constitutivos (cómo limpiar y preprocesar datos, cómo crear características para su modelo, evaluación de modelos, etc.), entonces está más que en camino.

Obtener la experiencia de programación no es difícil si estás dispuesto a pasar unos meses aprendiéndolo. Si desea elegir un par de idiomas como mínimo, comience a aprender Python y SQL. Podrá emplearse dentro de unos meses si aprende estos 2 idiomas.
En cuanto a ser un gran científico de datos, aquí hay un consejo que me dio mi líder cuando me uní a mi equipo en SAP hace unos meses:
Intenta entender el negocio tanto como puedas. Se lo valorará según el valor comercial que proporcione. Y para proporcionar valor al negocio, primero debe comprenderlo.