¿Necesito aprender estructuras de datos y algoritmos si me estoy enfocando en convertirme en ingeniero de datos en un año?

Gracias por la A2A.

En mi humilde opinión, sí. Las estructuras de datos, los algoritmos y los patrones de diseño sirven para abstraer problemas típicos de ingeniería de software.

Por ejemplo, una serie de elementos del mismo tipo puede ser servida por más de una estructura. Normalmente listas o matrices vinculadas. El rendimiento de las listas y matrices vinculadas es muy diferente según el uso que le des. Por ejemplo, si recorres todos los elementos e insertas mucho, probablemente te sirvan mejor con una lista. Por otro lado, si desea acceder a posiciones aleatorias en la estructura, los arreglos funcionarán mejor.

Esto es solo un ejemplo. Para ser honesto, no estoy particularmente informado en lo que respecta a las estructuras de datos y los algoritmos, pero soy un gran fan de los patrones de diseño.

Cuando se abordan miles de millones de filas, cualquier milisegundo por registro es un gran aumento en el largo plazo. Tener este conocimiento puede hacer una gran diferencia.

Sí. Las estructuras de datos y los algoritmos son importantes para todos los programadores, pero son realmente el pan y la mantequilla de los ingenieros de datos.

Si, absolutamente. Si pretende ganarse la vida trabajando con datos, entonces comprender cómo se almacenan, recuperan y manipulan los datos es algo fundamental para ese trabajo. Si todo lo que te importa es el almacenamiento de datos, querrás almacenarlo correctamente. Si todo lo que te importa es la recuperación de datos, necesitarás saber cómo se almacenaron para poder recuperarlos. Si todo lo que le importa es proporcionar respuestas a la empresa a través del aprendizaje automático, los informes, el BI o cualquiera de los procesos relacionados con el consumo de datos, entonces sí, necesita saber cómo se almacenan los datos, las estructuras detrás, los algoritmos a su alrededor. Especialmente si está considerando las ciencias de la información como parte de su carrera, entonces debe conocer y comprender los algoritmos.

Sí, la ingeniería de datos es una especialización de la ingeniería de software. No podrá convertirse en uno si no tiene una comprensión sólida de los fundamentos de CS.

Si está interesado en convertirse en un ingeniero de datos, estamos lanzando un programa para capacitar a ingenieros de software, administradores de sistemas y administradores de bases de datos para que sean ingenieros de datos listos para el trabajo en 16 semanas. Es un curso inmersivo, dirigido por un mentor para profesionales que trabajan.