Un repositorio más con conceptos básicos, desafíos técnicos y recursos sobre ingeniería de datos en español 🧙✨
¿Te gustaría aportar al repositorio? Visitá la guía de contribución
Nota: la siguiente ruta de aprendizaje está diseñada a criterio personal con la idea de facilitar el estudio de aquellos interesados en la ingeniería de datos con material libre, gratuito y en español que encontré en internet. No es una guía definitiva ni un curso, es una lista de recursos que puede ser mejorada con el tiempo con contribuciones de la comunidad.
📚 Libros de ingeniería de datos en inglés
Comenzamos con la comprensión de los conceptos fundamentales de programación y lógica. Esta sección puede ser desarrollada simultáneamente con el aprendizaje del lenguaje de programación que elijan.
- Curso: Programación Básica de Platzi
- Videos: Introducción a los Algoritmos y la Programación de TodoCode
- Videos: Ejercicios de Pseudocódigo de TodoCode
- Videos: Linea de Comandos de Datademia
- Videos: Bash scripting de Fazt
- Lectura: Introducción a la línea de comandos de Linux y el shell de Microsoft Learn
Recomiendo iniciar con Python debido a su curva de aprendizaje amigable y su prevalencia en la industria actual. No obstante, es importante destacar que el procesamiento de datos también puede realizarse con R, Java, Scala, Julia, entre otros.
- Videos: Python desde 0 de PildorasInformáticas
- Curso: Computación científica con Python de FreeCodeCamp
- Curso: Álgebra universitaria con Python de FreeCodeCamp
- Curso: Harvard CS50’s Introducción a la programación con Python subtítulado de FreeCodeCamp
- Curso: Python intermedio subtitulado de FreeCodeCamp
- Curso: Pandas de Kaggle
- Videos: Expresiones Regulares de Ada Lovecode
- Video: Principios de la Programación Orientada a Objetos de BettaTech
- Videos: Programación Orientada a Objetos explicada con Minecraft de Absolute
- Curso: Julia para gente con prisa de Miguel Raz
El aprendizaje sobre el control de versiones no solo es valioso al trabajar en equipos, sino que también nos proporciona la capacidad de rastrear, comprender y gestionar los cambios realizados en nuestro proyecto y así mantener un desarrollo eficiente y colaborativo.
- Video: ¿Qué es el control de versiones y porque es tan importante para programar? de Datademia
- Curso: Git y Github de MoureDev
- Videos: Git y Github de TodoCode
- Lectura: Usa Git correctamente de Attlasian
- Juego: Learn Git Branching
- Notebooks: Google Collab, Jupyter o Deepnote
- IDE: VSCode o Spyder
En esta instancia toca aprender sobre las bases de datos. La elección del gestor de bases de datos a utilizar queda a tu criterio, aunque personalmente recomiendo PostgreSQL para datos estructurados y MongoDB para datos no estructurados. Sin embargo, existen muchas otras opciones: MySQL, SQLite y demás.
- Videos: Introducción a las bases de datos de TodoCode
- Lectura: Diferencias entre DDL, DML y DCL de TodoPostgreSQL
- Video: Procedimientos almacenados #1 de Héctor de León
- Video: Procedimientos almacenados #2 de Héctor de León
- Video: MongoDB de Fazt
- Videos: MongoDB de MitoCode
También aprenderás SQL, un lenguaje de consulta para gestionar y manipular las bases de datos relacionales.
Ahora seguimos con conceptos más avanzados que nos servirán para diseñar bases de datos, datalake, datawarehouses, esquemas, etcétera.
- Video: ¿Cuándo utilizar SQL y cuando NoSQL? de Héctor de León
- Video: ¿Cómo se modelan las bases de datos NoSQL? de HolaMundo
- Lectura: Bases de datos orientadas a grafos de Oracle
- Video: Bases de Datos de Grafos, Fundamentos y Práctica de Datahack
Lo siguiente es entender algunos conceptos de Big Data. Además, resulta interesante adquirir conocimientos básicos sobre inteligencia artificial, inteligencia de negocios y análisis de datos sin la necesidad de profundizar demasiado.
- Video: Big Data para dummies de Datahack
- Lectura: Big Data: ¿Qué es y cómo ayuda a mi negocio? de Salesforce
- Certificación: Diseña y programa soluciones IoT con el uso de Big Data de Universidad del Rosario
- Certificación: Big Data de University of California San Diego
- Video: Big data y privacidad de Databits
- Videos: Gobierno de Datos de Smart Data
- Video: Cómo Iniciar con Gobierno de Datos sin Romper el Presupuesto de Software Gurú
- Certificación: Fundamentos profesionales del análisis de datos, de Microsoft y LinkedIn
- Certificación: Certificado profesional de Google Data Analytics
- Certificación: Certificado profesional de Analista de datos de IBM
- Curso: Análisis de datos con Python de FreeCodeCamp
- Video: Storytelling: ¿Cómo convertir tu contenido en una historia? de Coderhouse
- Curso: Machine Learning con Python de FreeCodeCamp
- Canal: AprendeIA con Ligdi Gonzalez
- Videos: Aprende Inteligencia Artificial de Dot CSV
- Video: Cómo usar ChatGPT en ingeniería de datos de Datalytics
- Curso: Inteligencia Artificial subtitulado de Universidad de Columbia
- Videos: Google Business Intelligence Certificate subtitulado de Google Career
- Videos: ¡Business Intelligence para Todos! de PEALCALA
En esta sección está el corazón de la ingeniería de datos, veremos que son los data pipelines, qué es un ETL, orquestadores, y más. Además, dejo una lista de conceptos clave qué voy a ir actualizando con sus recursos respectivos a futuro, si te interesa aprenderlos en detalle, podés buscar en los libros subidos en el repositorio.
- Video: Ingeniería de datos: viaje al corazón de los proyectos de datos de RockingData
- Video: ¿Cómo convertirte en un verdadero Ingeniero de Datos? de Databits
- Videos: Preprocesamiento de Datos en Python de Rocio Chavez
- Videos: Preprocesamiento de Datos en R de Rocio Chavez
- Video: Pruebas A/B: Datos, no opiniones de SantanDev
- Cargas incrementales
- Colas de mensajería
- Expresiones Cron
- Modelo relacional
- Modelo dimensional
- Facts y dimensiones
- Datalake, Datamart, Datawarehouse y Dataqube
- Diseño por columnas y basada por filas
- Esquemas star y snowflake
- Esquemas on read y on write
- Videos: Airflow de Data Engineering LATAM
- Video: Automatizando ideas con Apache Airflow - Yesi Díaz de Software Gurú
- Videos: Pentaho Spoon de LEARNING-BI
- Videos: Luigi subtitulado de Seattle Data Guy
- Lectura: Azure Data Factory de Microsoft
- Procesamiento de datos por lotes o batch
- Procesamiento en tiempo real o streaming
- Arquitecturas lambda y kappa
- Lectura: Diferencias clave entre el OLAP y el OLTP de AWS
- Video: Construye ETL en batch y streaming con Spark de Databits
- Lectura: Comparación de contenedores y máquinas virtuales de Atlassian
- Videos: Docker de Pelado Nerd
- Videos: Kubernetes de Pelado Nerd
- Lectura: ¿Qué es un sistema distribuido? de Atlassian
- Videos: Spark de Data Engineering LATAM
- Video: Infraestructura como código para ingeniería de datos de Spark México
- Videos: Apache Spark de NullSafe Architect
- Videos: Apache Kafka de NullSafe Architect
- Video: Great Expectations: Validar Data Pipelines como un Profesional por CodingEric en la PyConAr 2020
- Video: ETL Testing y su Automatización con Python por Patricio Miner en la #QSConf 2023
Es útil tener conocimientos de cloud computing. Llegado a este punto, te recomendaría considerar la preparación de certificaciones oficiales. Aunque estos exámenes suelen tener un costo, puedes encontrar recursos de preparación gratuitos y oficiales de los proveedores más conocidos en la industria.
- Video: Fundamentos de Cloud Computing de Datahack
- Lectura: Descubre las ventajas y desventajas de la nube de Platzi
- Lectura: Arquitectura para Big Data en Cloud de Platzi
- Ingeniería de datos de Google Cloud
- Ingeniería de datos de Microsoft Azure
- Ingeniería de datos de AWS (pronto)
Finalmente te dejo algunas lecturas y videos que ofrecen consejos y experiencias relacionadas con la búsqueda laboral en el ámbito de sistemas. Más adelante, se agregarán desafíos técnicos y otros recursos vinculados al tema.
- Video: ¿Cómo obtener tu primer empleo en ingeniería de datos? de Spark México
- Videos: Consejos Laborales para el mundo IT de TodoCode
- Videos: Esenciales para comenzar en el mundo de los sistemas de Maxi Programa
- Hilo: Consejos para completar el perfil de LinkedIn de @natayadev
- Hilo: Consejos para conseguir un trabajo remoto en IT de @natayadev
- Hilo: Cómo crear un CV ordenado y legible de @iamdoomling
- Hilo: Te dejo estos tips para sobrevivir entrevistas con recursos humanos de @iamdoomling
- Video: Programar en empresas, startups o freelance ¿Qué es mejor? de @iamdoomling
- Video: Terminé el bootcamp de programación ¿Y ahora qué? de @iamdoomling
- Video: Trabajar como contractor desde Argentina de @iamdoomling
- Podcast: DevRock de Jonatan Ariste
- (2023) Repositorio: Desafíos de código de la comunidad de MoureDev
- (2024) Repositorio: Roadmap retos de programación de la comunidad de MoureDev
En proceso 😊
Si te resultó útil este repositorio, regalame una estrella ⭐