¿Necesito aprender el desarrollo del backend si quiero convertirme en un científico de datos?

Recomiendo un estudio familiar del desarrollo de software. Esto sugiere el estudio de los lenguajes de programación necesarios para hacer software. También significa el estudio y el uso regular de la biblioteca en dichos idiomas, especialmente durante el desarrollo del nivel de producción. Un científico de datos en este sentido trabaja con un equipo de ingenieros de software, analistas técnicos, gerentes y personal de soporte para conectarse con otras unidades comerciales funcionales. Podría caracterizar a una empresa mediana con un pequeño brazo de desarrollo de software, un departamento de tecnología de la información desarrollado y, por lo tanto, ciertamente el software como una función de apoyo para los productores primarios y el personal de servicio. Pero con la escala, dicho equipo puede agregar más científicos de datos con diferentes niveles de análisis, desarrollo de software y modelado. Luego comparten sus responsabilidades para hacer software. Además de los equipos hipotéticos en las empresas, se debe desarrollar una disciplina de ciencia de datos con ingenieros de software. Esto significa que suficientes estudios en cursos de ciencias de la computación tienen más prioridad que una especialización excesiva en cursos de matemática y estadística aplicadas, especialmente a expensas de un trabajo más lento, más pobre y mal traducido con ingenieros de software a nivel de producción.

Las dos son habilidades fundamentalmente diferentes. El desarrollador de back-end (BD) necesita comprender redes, protocolos, estructuras de datos, algoritmos, piratería, seguridad, eficiencia, almacenamiento, procesamiento, etc.

El científico de datos (DS) necesita comprender matemáticas, estadísticas, análisis, piratería, probabilidad, inferencia, lógica, algunos algoritmos y conocimiento de dominio. No estoy hablando del simple trabajo de Business Intelligence (BI) en el que alguien solo juega con su software empaquetado para ver si puede encontrar algo útil, pero un DS es un analista experto con la capacitación y la educación para obtener conocimientos reales, a menudo utilizando muchos herramientas y técnicas, para que su BI u otro trabajo extraiga información procesable que los análisis simples nunca podrían igualar.

Hay cierta superposición, ya que ambos tienen fuertes habilidades informáticas. El BD generalmente no necesita habilidades matemáticas, estadísticas o de probabilidad fuertes, pero estos son esenciales para el DS. El DS rara vez se ocupa de la seguridad, pero es crítico para los BD en estos días.

Ambos necesitan habilidades de pirateo, pero se utilizan de manera diferente. Para el DS, el pirateo se produce al tomar los datos sin procesar y mezclarlos, limpiarlos y manipularlos para ponerlos en una forma útil. También necesitan jugar con la visualización y utilizar varias herramientas para realizar sus análisis. El DS utiliza todas las herramientas disponibles y hace lo necesario para realizar el trabajo. Hackear un BD puede significar muchas cosas (aunque no estoy hablando de entrar en sistemas). Es posible que estén mirando los registros del servidor y tengan que procesarlos con un montón de herramientas o solo las pocas herramientas adecuadas. Podrían estar tratando de encontrar al pirata informático real que inició un ataque DDOS, o reparar rápidamente un error que derribó sus servidores.

El BD necesita comprender algoritmos y estructuras de datos en mayor grado que un DS. Como el BD está escribiendo software, su elección de estructura de datos puede hacer una diferencia de orden de magnitud en el rendimiento. El DS probablemente hará mucha programación, pero para análisis, no para lanzamiento de producción. Por supuesto, el DS utilizará bibliotecas estadísticas, matemáticas y de aprendizaje automático en su código. Si bien la elección de la estructura de datos o el algoritmo podría ser importante, es probable que afecte solo a unas pocas personas, no al potencial en el que millones de personas tiene que pensar un BD. Es útil para el DS comprender los algoritmos que usa, como en el aprendizaje automático o los cálculos estadísticos. Sin embargo, a menos que esté desarrollando dichos algoritmos, no necesita ser un experto.

El DS también necesita conocimiento de dominio. Necesitas entender el negocio. No podrá hacer buenas recomendaciones en finanzas si todo lo que sabe es automóviles. El BD, por otro lado, generalmente tiene menos conocimiento del negocio y sus habilidades se trasladan más fácilmente de una compañía a otra en un campo completamente diferente.

Por lo tanto, no creo que tener un fondo de desarrollo de back-end sea necesariamente útil para un científico de datos. Si necesita el trabajo, tómelo, pero las habilidades son lo suficientemente diferentes como para que la experiencia de BD no lo ayude a lograr un puesto en DS. Sin embargo, dependiendo de sus antecedentes, aún podría ser una experiencia útil. Tú decides.

Si va a ser el tipo de científico de datos más cercano a un ingeniero de aprendizaje automático, entonces sí, el desarrollo del backend será una gran parte de lo que haga.

Si va a ser el tipo de científico de datos más cercano a un analista estadístico, entonces solo necesita saber cómo escribir pequeños scripts y prototipos de soluciones.

En general, cuanto más programación conozca, mejor. Serás más flexible en el mercado laboral si tienes fuertes habilidades de programación.