Currículum de ingeniero/a de machine learning: ejemplos y guía para redactarlo
Un currículum de ingeniero/a de machine learning consigue la entrevista cuando quien lo lee ve modelos que pusiste en producción, lo que aportaron (latencia, precisión, ingresos, coste), el stack que usaste de principio a fin y cómo gestionaste los datos, el despliegue y la monitorización. Dos páginas está bien. Un enlace a GitHub activo importa aquí más que en la mayoría de campos.
Ejemplo de currículum de ingeniero/a de machine learning (6 años, recomendaciones y NLP)
Un currículum con material para dos páginas, recortado a lo esencial, de un ingeniero de machine learning con seis años de experiencia, la mitad de ellos desplegando modelos que atienden tráfico real. Los nombres son ficticios. Fíjate en que cada logro nombra el modelo, el volumen de datos, la restricción de servicio y el resultado de negocio, y en que el trabajo de infraestructura se trata como trabajo de verdad.
Héctor Navarro Gil
Ingeniero de machine learning
Madrid · 612 345 678 · hector.navarro@ejemplo.es · github.com/hector-navarro-ejemplo · linkedin.com/in/hector-navarro-ejemplo
Perfil
Ingeniero de machine learning con 6 años en puestos de ingeniería de ML (7 años en datos en total), creando y operando modelos en producción, sobre todo de recomendación y clasificación de texto. 11 modelos desplegados con tráfico real, entre ellos un modelo de ranking que atiende 4.200 peticiones por segundo con 38 ms de p95. Visión completa del ciclo: pipelines de features en Spark y Airflow, entrenamiento en PyTorch, servicio en Kubernetes con Triton y monitorización de drift. Acostumbrado a hacerse cargo de un modelo desde el planteamiento del problema hasta las guardias.
Experiencia
Ingeniero de machine learning II · Marketplace online con presencia en varios países europeos (14 millones de usuarios al mes), Madrid
07/2022 – actualidad
- Rediseñé el modelo de ranking de la página de inicio, de árboles con gradient boosting a un recuperador neuronal two-tower más un reranker, con una subida del CTR del 9,4 % y de la tasa de añadidos al carrito del 6,1 % en un test A/B de 4 semanas con 3,2 millones de usuarios.
- Sirvo ese modelo a 4.200 peticiones por segundo con un límite de latencia de 38 ms de p95 mediante Triton Inference Server en Kubernetes, tras reducir el coste de inferencia un 41 % al pasar a ONNX y batching dinámico.
- Construí el pipeline de features en Spark y Airflow sobre 380 millones de eventos diarios, con un feature store en Feast que eliminó el desajuste entre entrenamiento y servicio que había provocado dos caídas silenciosas de precisión.
- Añadí monitorización de drift y de calidad de datos en 22 features; las alertas detectaron un esquema de eventos roto en origen en 40 minutos, frente a una media anterior de 6 días.
- Ajusté con LoRA un modelo de lenguaje open-weights más pequeño para extraer atributos de producto, con un 93,7 % de precisión por campo frente al 88 % de la revisión manual, lo que ahorra unas 900 horas al año de revisión del catálogo.
Ingeniero de machine learning · Empresa de software B2B (SaaS de atención al cliente), Madrid
08/2020 – 07/2022
- Construí un clasificador para enrutar tickets de soporte sobre 2,1 millones de tickets históricos, con un F1 macro de 0,91, que redujo la mediana del tiempo de primera respuesta de 5,2 a 2,4 horas.
- Sustituí un proceso nocturno de scoring por lotes por un endpoint en tiempo real en AWS SageMaker, con lo que el retraso de las predicciones pasó de 14 horas a menos de 2 segundos para 60.000 tickets diarios.
- Desarrollé el marco de evaluación de modelos del equipo (métricas offline, análisis por segmentos de tamaño de cliente e idioma, despliegue en sombra), que se convirtió en el filtro de revisión de los 7 modelos.
- Reduje el tiempo de entrenamiento de 9 horas a 70 minutos reescribiendo el preprocesamiento en PySpark y pasando a entrenamiento de precisión mixta en una sola A100.
Científico de datos · Empresa de software B2B (SaaS de atención al cliente), Madrid
06/2019 – 08/2020
- Construí modelos de bajas y de ampliación de contratos con scikit-learn y XGBoost sobre 40.000 cuentas; el modelo de bajas, con un AUC de 0,83, lo usó el equipo de customer success para priorizar 200 llamadas semanales.
- Realicé 14 tests A/B de mensajes dentro del producto, uno de ellos con una mejora de 3,8 puntos en la conversión de prueba a pago.
- Pasé el reporting de notebooks puntuales a un entorno con dbt y Airflow, lo que redujo el trabajo semanal de informes de 8 horas a menos de 1.
Formación
Máster en Inteligencia Artificial (especialidad en aprendizaje automático)
Universidad pública, Madrid, 2019
Grado en Ingeniería de Tecnologías de Telecomunicación
Universidad pública, Valencia, 2017
Certificaciones
- AWS Certified Machine Learning Engineer – Associate, 2025
- Google Cloud Professional Machine Learning Engineer, 2025 (recertificación)
Habilidades
Lo primero que lee un responsable de contratación de ML
El equipo te contrata porque los modelos se siguen rompiendo después de desplegarse. Eso determina lo que busca.
- ¿Algo de lo que construiste atendió tráfico real? Las métricas offline sobre un dataset estático son baratas. Lo que cuenta son las peticiones por segundo, la latencia, los usuarios afectados y cuánto tiempo lleva el modelo en producción.
- ¿Eres responsable del camino de los datos? La mayoría de los fallos de ML vienen de los pipelines y del desajuste de features, no del modelo. La ingeniería de features, la orquestación y un feature store son señales potentes.
- ¿Sabes hacer ingeniería, no solo modelar? Tu estilo de código, tus hábitos de testing, los contenedores y la CI le dicen al responsable si vas a necesitar un ingeniero de software detrás de ti.
- ¿Mides lo correcto? Nombrar por separado la métrica offline y la online (F1 y conversión, AUC e ingresos por sesión) demuestra que has puesto algo en producción.
- Ámbito y actualidad. El trabajo con LLM y recuperación, el ranking clásico, la visión artificial y la previsión son trabajos bastante distintos. Ajusta el currículum al problema de la oferta.
“Enséñame un modelo que llevaste de un notebook a producción y mantuviste vivo un año. Qué se rompió, qué monitorizaste, qué tuviste que revertir. Esa historia me dice más que cinco medallas de Kaggle y una lista de todos los frameworks que has tocado.”
Ejemplos de perfil profesional de ingeniero/a de machine learning
Tres o cuatro líneas: años, área de problemas, la cifra de producción más importante y el alcance del stack del que te encargas. Evita el formato de objetivo profesional salvo que acabes de terminar los estudios.
Ingeniero de machine learning con 6 años desplegando modelos de recomendación y ranking; actualmente sirve un recuperador two-tower y un reranker a 4.200 peticiones por segundo con 38 ms de p95. Responsable de todo el camino, desde los pipelines de features en Spark y el entrenamiento en PyTorch hasta el servicio en Kubernetes y la monitorización de drift. Su último rediseño del ranking subió el CTR un 9,4 % en un test de 4 semanas.
Ingeniera de ML centrada en modelos de lenguaje en producción: fine-tuning de modelos open-weights con LoRA, sistemas de recuperación aumentada sobre 4 millones de documentos internos y marcos de evaluación que detectan regresiones de verdad. Tasa de respuestas erróneas reducida del 18 % al 7 % en un asistente de soporte que usan 900 agentes, a 0,003 € por consulta.
Ingeniero de visión artificial con 5 años en inspección industrial. Entrenamiento y despliegue de modelos de detección de defectos con 1,4 millones de imágenes etiquetadas, ejecutados en dispositivos edge a 30 fotogramas por segundo con TensorRT. Rechazos falsos reducidos del 6,2 % al 1,9 %, unos 550.000 € al año en producto recuperado en dos líneas de producción.
Científica de datos en transición a la ingeniería de ML tras llevar a producción tres de sus propios modelos. Creación del flujo de despliegue del equipo en SageMaker, que sustituyó un proceso por lotes de 14 horas por un endpoint en tiempo real de menos de 2 segundos. Dominio de Python, SQL, Spark y Airflow, y ya con soltura en Docker, Kubernetes y guardias de servicios de modelos.
Logros de ingeniero/a de machine learning: de flojos a sólidos
El problema habitual es un currículum lleno de frameworks y sin resultados. Asocia una cifra y una restricción a cada modelo.
| Flojo (una lista de herramientas) | Sólido (un resultado en producción) |
|---|---|
| Desarrollé modelos de machine learning con PyTorch y TensorFlow. | Rediseñé el ranking de la página de inicio, de árboles con gradient boosting a un recuperador two-tower más un reranker, con una subida del CTR del 9,4 % y de los añadidos al carrito del 6,1 % en un test de 4 semanas con 3,2 millones de usuarios. |
| Desplegué modelos en producción. | Serví el modelo de ranking a 4.200 peticiones por segundo dentro de un límite de 38 ms de p95 con Triton y Kubernetes, y reduje el coste de inferencia un 41 % con ONNX y batching dinámico. |
| Construí pipelines de datos para machine learning. | Construí pipelines de features en Spark y Airflow sobre 380 millones de eventos diarios con un feature store en Feast, y acabé con el desajuste entre entrenamiento y servicio que había causado dos caídas silenciosas de precisión. |
| Monitoricé el rendimiento de los modelos. | Añadí alertas de drift y de calidad de datos en 22 features; detectaron un esquema roto en origen en 40 minutos en lugar de los 6 días habituales. |
| Trabajé con modelos de lenguaje de gran tamaño. | Ajusté con LoRA un modelo open-weights para extraer atributos de producto, con un 93,7 % de precisión por campo frente al 88 % de la revisión manual, lo que ahorra unas 900 horas de revisión al año. |
| Mejoré la precisión de los modelos. | Llevé el clasificador de enrutamiento de tickets a un F1 macro de 0,91 sobre 2,1 millones de tickets, lo que redujo la mediana del tiempo de primera respuesta de 5,2 a 2,4 horas. |
| Optimicé el rendimiento del entrenamiento. | Reduje el tiempo de entrenamiento de 9 horas a 70 minutos reescribiendo el preprocesamiento en PySpark y pasando a precisión mixta en una sola A100. |
| Colaboré con equipos multidisciplinares. | Desarrollé el marco de evaluación (métricas offline, análisis por segmentos de tamaño de cliente e idioma, despliegue en sombra) que se convirtió en el filtro de revisión de los 7 modelos del equipo. |
Empieza con un ejemplo y termina en minutos.
No necesitas registrarte para empezar. Elige un ejemplo, adáptalo con sugerencias y revisa la vista previa mientras escribes.
Proyectos y GitHub: qué incluir y qué quitar
Es uno de los pocos campos en los que los responsables de contratación abren tus enlaces. Una sección de proyectos ayuda al principio de tu carrera y puede seguir ayudando después si el proyecto demuestra algo que tus empleos no. Perjudica cuando es una carpeta de notebooks de tutoriales.
- Dos o tres proyectos como máximo. Cada uno con un título, una línea sobre el problema, otra sobre el enfoque y otra sobre el resultado, más un enlace.
- Incluye las partes aburridas: cómo recogiste los datos, cómo lo evaluaste, cómo se despliega o se reproduce. Un proyecto con Dockerfile, tests y README vale más que uno con un modelo más grande.
- Da una métrica real y una referencia. «F1 de 0,87 frente a 0,72 de una referencia por palabras clave sobre 30.000 reseñas etiquetadas» merece la pena leerse; «construí un modelo de análisis de sentimiento», no.
- Quita todo lo que use un dataset de tutorial famoso, salvo que hicieras algo poco habitual con él. Los responsables han visto el mismo proyecto de Titanic o MNIST cientos de veces.
- Enlaza solo un perfil de GitHub que quieras que abran. Si tus repositorios fijados están vacíos o a medias, arréglalos antes de enviar el currículum.
- Publicaciones, un buen puesto en el ranking de Kaggle o una contribución aceptada en una librería open source real merecen una línea cada una. Una buena clasificación en una competición no sustituye a una historia de producción.
- Si tu trabajo está bajo un acuerdo de confidencialidad, describe la forma sin los detalles: «modelo interno de fraude sobre unos 30 millones de transacciones al mes» es suficiente.
Competencias para un currículum de ingeniero/a de machine learning
Agrupa la lista por capas para que el responsable vea hasta dónde llega tu responsabilidad. No la infles con todo lo que tocaste una vez, porque en las entrevistas preguntan por el tercer elemento de la lista.
- Lenguajes: Python primero, SQL siempre, y el lenguaje en el que escribas el código de servicio (Go, Java, C++ para trabajo en edge y visión).
- Modelado: PyTorch, scikit-learn, XGBoost o LightGBM, Hugging Face Transformers, TensorFlow si aún lo usas. Nombra también los tipos de problema: ranking, recuperación, clasificación, previsión, detección.
- Datos: Spark, pandas o Polars, Kafka, dbt, Airflow o Dagster, un feature store como Feast y el data warehouse que consultas (Snowflake, BigQuery, Redshift).
- Servicio e inferencia: FastAPI, Triton, ONNX, TensorRT, vLLM para modelos de lenguaje, batching y cuantización, decisiones de coste entre GPU y CPU.
- Plataforma: Docker, Kubernetes, Terraform, GitHub Actions y una nube a fondo (SageMaker en AWS, Vertex AI en GCP, Azure ML).
- Seguimiento y evaluación: MLflow o Weights & Biases, diseño de experimentos, tests A/B, pares de métricas offline y online, análisis por segmentos, despliegues en sombra.
- Recuperación y vectores, si aplica: embeddings, FAISS, pgvector o una base de datos vectorial gestionada, chunking y reranking para generación aumentada por recuperación.
- El criterio por el que preguntan en las entrevistas: saber cuándo un modelo más sencillo es la respuesta correcta, cuándo comprar en lugar de construir y cómo decir que no a un problema que no necesita machine learning.
Currículum de ingeniero/a de machine learning junior o recién titulado/a
La mayoría de las ofertas de ingeniería de ML piden una experiencia que nadie tiene al empezar. Se entra normalmente por un puesto cercano (científico/a de datos, ingeniero/a de datos, ingeniero/a back-end, becario/a de ML) o con proyectos que parecen trabajo de producción.
- 1Empieza con un proyecto sustancial, no con cinco pequeños. Elige el que incluya recogida de datos, evaluación y despliegue.
- 2Demuestra ingeniería, no solo modelado. Un endpoint desplegado, tests, un contenedor y un README te separan de la mayoría de candidatos de este nivel.
- 3Pon asignaturas solo si son concretas y recientes: sistemas distribuidos, optimización, deep learning, estadística. No enumeres diez asignaturas.
- 4Aprovecha bien las prácticas y las colaboraciones de investigación: tamaño del dataset, qué mediste y si alguien usó el resultado.
- 5Preséntate también a los puestos cercanos. Los puestos de ingeniería de datos y back-end en empresas con equipos de ML son una vía más rápida hacia la ingeniería de ML que esperar una oferta junior de ML.
- 6Las certificaciones de nube ayudan un poco a este nivel, sobre todo como prueba de que conoces la plataforma. No sustituyen a un proyecto que alguien pueda ejecutar.
Titulado en un máster de machine learning, con un TFM sobre recuperación de documentos jurídicos y un proyecto personal desplegado que atiende 400 peticiones diarias. Pipeline de extremo a extremo (scraping, etiquetado de 12.000 documentos, fine-tuning de un transformer pequeño, endpoint FastAPI en Docker en una máquina virtual en la nube) con un F1 de 0,88 frente a 0,69 de una referencia por palabras clave. Dominio de Python y SQL, con soltura en PyTorch y Airflow.
Ingeniera back-end con 4 años en Python y Go, en transición al machine learning tras construir y encargarse de la capa de servicio de dos modelos en su empresa. Latencia p95 del endpoint de modelos reducida de 210 ms a 48 ms y CI de modelos del equipo puesta en marcha. Formación de posgrado en machine learning completada y un proyecto personal de recomendación con endpoint en producción.
Formato, extensión y palabras clave para el ATS
- Una página al principio y dos cuando tengas tres o más años y trabajo real en producción. En este campo, quien selecciona sí lee la segunda página.
- Pon los enlaces (GitHub, web personal, publicaciones) en la cabecera, donde se hace clic, y comprueba que funcionan en el PDF.
- Nada de barras de nivel en las competencias. Nadie se cree un cuatro de cinco en PyTorch, y el ATS no las lee.
- La foto es opcional en España y la fecha de nacimiento no hace falta. Usa una sola columna para que el ATS lo lea en orden.
- Copia la oferta: si dice «MLOps», «LLM», «sistemas de recomendación» o «visión artificial», usa esas mismas palabras cuando sean ciertas. Los filtros buscan los nombres de los frameworks de forma literal, así que escribe «PyTorch» y también la librería concreta cuando importe.
- Merece la pena incluir, si es cierto: producción, despliegue, inferencia, latencia, throughput, feature store, drift, test A/B, fine-tuning, embeddings, Kubernetes, Spark, Airflow, MLflow, SageMaker o Vertex AI.
Una última comprobación antes de enviarlo: en cada logro, pregúntate si un científico de datos, un ingeniero back-end y un ingeniero de ML habrían escrito la misma línea. Si es así, no está trabajando para ti. Reescríbela con la restricción que tuviste que cumplir.
Preguntas frecuentes
¿Cómo se hace un currículum de ingeniero/a de machine learning?
Empieza por los modelos que pusiste en producción y, para cada uno, indica el problema, la restricción (latencia, escala o coste) y el resultado de negocio. Demuestra que te encargas del camino de los datos y del despliegue, no solo del notebook. Pon tu GitHub en la cabecera, agrupa las competencias por capas y limítalo a una o dos páginas.
¿Qué competencias pongo en un currículum de ingeniero/a de ML?
Python y SQL, un framework de modelado como PyTorch, el stack de datos que uses (Spark, Airflow, Kafka, un feature store), herramientas de servicio como Triton, ONNX o FastAPI y competencias de plataforma como Docker, Kubernetes y una nube. Añade experimentación y monitorización, porque es lo que distingue sobre el papel a un ingeniero de ML de un científico de datos.
¿Pongo proyectos de GitHub en mi currículum de ML?
Sí, pero solo dos o tres, y solo los que te parezca bien que abra un responsable de contratación. Cada uno necesita un problema, un enfoque, una métrica frente a una referencia y un enlace. Los datasets de tutorial y los repositorios a medias restan más de lo que suman, así que ordena antes tus repositorios fijados.
¿Cómo hago un currículum de ingeniero/a de ML sin experiencia?
Construye un proyecto que parezca trabajo de producción: datos reales que hayas recogido tú, una evaluación honesta y un endpoint desplegado con contenedor y tests. Ponlo por encima de las asignaturas. Después, preséntate también a puestos de ingeniería de datos, back-end y otros cercanos al ML, porque la mayoría de la gente entra en la ingeniería de ML de lado y no a través de una oferta junior de ML.
¿Qué extensión debe tener un currículum de ingeniero/a de machine learning?
Una página con menos de unos tres años de experiencia y dos a partir de ahí. Dos páginas es lo normal y está aceptado en este campo, porque el trabajo con modelos en producción necesita contexto. Más extensión solo tiene sentido en puestos muy de investigación en los que se espera una lista de publicaciones.
¿Sirven de algo las certificaciones de machine learning?
Un poco. Las certificaciones de machine learning de AWS y Google Cloud demuestran que conoces la plataforma y pueden ayudarte a pasar un filtro, sobre todo al principio. Pesan mucho menos que un modelo que desplegaste y mantuviste en marcha, así que no dejes que una lista de certificaciones le quite espacio a tus proyectos o a tu trabajo en producción.
¿En qué se diferencia un currículum de ingeniero/a de ML de uno de científico/a de datos?
El de científico/a de datos empieza por análisis, experimentos y conclusiones para quien toma decisiones. El de ingeniero/a de ML empieza por sistemas: modelos en producción, latencia y throughput, pipelines, despliegue y monitorización. Si pasas de uno a otro, reescribe tus logros en torno a lo que llegó a producción y a lo que tuvo que aguantar.
¿Listo para escribir el tuyo?
El editor te sugiere un perfil a partir de tu propia experiencia y luego lo compara con la oferta de empleo.
Cómo se hizo esta página: el primer borrador se redactó con ayuda de IA a partir de la biblioteca de ejemplos de cvplex y después lo editó y verificó cvplex Careers Team. Los ejemplos son composiciones ficticias y las cifras son orientativas. Puedes informar de un error en la página de política editorial. Esta versión se tradujo del inglés con ayuda de IA.