DATA ENGINEER (AGENTS & ETL)
Summary
Data engineer on Unumbio's data team maintaining PDF/HTML parsers, scrapers and the AI-agent harnesses that drive extraction, while keeping on-premise production services reliable. Core stack: Python 3.12 with asyncio, FastAPI, MongoDB, PostgreSQL, Docker/Linux, and LLM agents (Claude Code, Codex, OpenAI-compatible APIs).
Buscamos un/a ingeniero/a para incorporarse a nuestro equipo de datos. Trabajarás en sistemas de extracción y procesamiento de datos, y en los agentes de inteligencia artificial que apoyan estos procesos.
El puesto combina desarrollo, operaciones e infraestructura, con foco en la confiabilidad de los sistemas.
- Mantener y mejorar parsers, scrapers y sistemas de extracción de datos de PDF y HTML mediante flujos de trabajo basados en agentes de IA.
- Desarrollar y mantener los agentes y sus entornos de ejecución y control (harnesses) para generar, ejecutar y revisar código de extracción de datos.
- Participar en la migración y modernización de las plataformas existentes.
- Diagnosticar y resolver problemas operativos en producción.
- Comprender el funcionamiento de la infraestructura del equipo.
- Probar, ajustar y mantener sistemas que se ejecutan en infraestructura local (on-premise).
- Dominio avanzado de Python 3.12: tipado, pruebas con pytest y desarrollo de código mantenible en bases de código de gran tamaño.
- Capacidad para leer, comprender, depurar y modificar código existente.
- Programación asíncrona en Python: asyncio, operaciones concurrentes de entrada/salida (I/O) y criterio para determinar cuándo conviene utilizar hilos o procesos.
- Desarrollo de APIs con FastAPI.
- Extracción de datos de PDF con pdfplumber, pdfminer o PyMuPDF, trabajando con coordenadas, fuentes tipográficas, líneas dibujadas e imágenes.
- Extracción de datos de HTML mediante XPath o selectores CSS, utilizando lxml, parsel o herramientas similares.
- Web scraping: solicitudes HTTP y APIs, scraping asíncrono, proxies y automatización de navegadores con Playwright o herramientas similares.
- Capacidad para identificar y corregir problemas de parsing.
Agentes de IA:
- Experiencia con agentes de programación como Claude Code, Codex u otros en tareas de varias etapas: redacción de prompts y tareas, definición de herramientas y permisos, y evaluación de resultados mediante métricas.
- Desarrollo o mantenimiento de entornos de ejecución y control de agentes (harnesses): ejecución de agentes como subprocesos, lectura de sus eventos y gestión de límites de tiempo, presupuestos de ejecución, aislamiento (sandboxing) y subagentes.
- Uso de APIs y SDKs compatibles con OpenAI para trabajar con OpenRouter, OpenAI o modelos de lenguaje locales.
- Ejecución de varios agentes en paralelo y revisión de su trabajo.
- Linux: trabajo habitual con servidores, procesos, registros (logs) y recursos del sistema.
- Docker y Docker Compose: creación de imágenes, ejecución de contenedores y diagnóstico de problemas.
- Operación y mantenimiento de servicios en producción en infraestructura local (on-premise).
Datos y herramientas:
- MongoDB con pymongo.
- SQL y bases de datos relacionales: PostgreSQL y SQLAlchemy.
- Git, con revisión de código como parte del flujo de trabajo.
CONOCIMIENTOS Y EXPERIENCIA DESEABLES.
- Experiencia en sistemas de procesamiento de datos o scraping a gran escala.
- Conocimientos de arquitecturas distribuidas y colas de tareas.
- Diseño de sistemas y arquitectura de software.
- Familiaridad con sistemas antibot: fingerprinting, control de la frecuencia de solicitudes (rate limiting) y gestión de sesiones.
- Conocimientos básicos de infraestructura en AWS.
- Definición de contratos de datos tipados con Pydantic y verificaciones estrictas con mypy y Ruff.
- Pipelines de CI/CD con GitHub Actions o herramientas similares.
- Capacidad para leer documentos en otros idiomas, además del español y el inglés.
