Descripción
Como **Ingeniero DataOps en 24i, trabajando dentro del equipo de Personalización**, formará parte de un equipo de ingeniería colaborativo e innovador. Reportará al Líder de Ingeniería Backend y desempeñará un papel práctico a lo largo de todo el ciclo de vida del desarrollo de software, contribuyendo al desarrollo y operación de la plataforma basada en la nube que impulsa nuestras capacidades de personalización, recomendaciones y análisis.
El puesto combina **ingeniería de datos, desarrollo backend e infraestructura en la nube**, con especial énfasis en la construcción y operación de pipelines y servicios de datos fiables. Trabajará con conjuntos de datos grandes y diversos, ayudando a garantizar que los datos se ingieran, procesen, supervisen y pongan a disposición de forma eficiente y fiable en toda la plataforma.
También colaborará estrechamente con equipos de toda la organización 24i para proporcionar los datos y servicios necesarios para los informes de rendimiento de los clientes, los modelos de recomendación, la personalización y el análisis.
Como orientación general, deberá tener varios años de experiencia entregando software y sistemas de datos en producción. Valoramos a los ingenieros con sólidas bases en ingeniería de datos y backend, que también se sientan cómodos trabajando más allá de los límites tradicionales de la ingeniería cuando sea necesario.
**Responsabilidades clave**
Contribuirá a lo largo de todo el ciclo de vida del desarrollo de software: desde el diseño técnico y su implementación hasta las pruebas, el despliegue, la supervisión y la mejora continua.
**Ingeniería y operaciones de datos:**
* Diseñar, construir y mantener **pipelines fiables de ingesta y procesamiento de datos**, que respalden casos de uso de análisis, personalización y recomendaciones.
* Trabajar con conjuntos de datos estructurados y semiestructurados en sistemas de almacenamiento y procesamiento basados en la nube.
* Desarrollar y mantener **flujos de trabajo de orquestación de datos**, asegurando que las dependencias, reintentos, errores y recuperación se gestionen de forma fiable.
* Contribuir a los procesos de modelado y transformación de datos que hagan que estos sean eficientes y prácticos para los consumidores finales.
* Ayudar a garantizar la **calidad, coherencia y fiabilidad de los datos** mientras transitan por la plataforma.
* Identificar y resolver problemas de rendimiento, escalabilidad y coste en las cargas de trabajo de procesamiento de datos.
**Ingeniería backend y de plataforma:**
* Diseñar, desarrollar y mantener **servicios backend e integraciones basados en Python**, que respalden la plataforma de Personalización.
* Comprender rápidamente bases de código existentes para analizar su comportamiento, corregir incidencias e implementar nuevas funcionalidades.
* Escribir código de alta calidad y mantenible que cumpla tanto con los requisitos funcionales como no funcionales.
* Refactorizar y mejorar sistemas existentes preservando su comportamiento esperado y manteniendo la compatibilidad hacia atrás cuando sea necesario.
* Diseñar soluciones basadas en los requisitos del producto y las historias de usuario, comunicando al resto del equipo los enfoques técnicos, esfuerzo estimado, compensaciones y riesgos.
**Nube, despliegue y observabilidad:**
* Desarrollar y operar servicios y cargas de trabajo de datos que se ejecuten en entornos en la nube, principalmente **AWS**.
* Contribuir a los procesos de infraestructura y despliegue en la nube, incluidos **Infraestructura como Código (IaC) y pipelines CI/CD**.
* Construir y mejorar la **observabilidad en los servicios y pipelines de datos**, utilizando registros (logs), métricas, trazado (tracing) y alertas para comprender el comportamiento del sistema y diagnosticar incidencias.
* Contribuir al uso por parte del equipo de estándares y herramientas modernas de observabilidad, como **OpenTelemetry**.
* Asegurar que los cambios puedan desplegarse de forma segura y fiable en los entornos de desarrollo, preproducción y producción.
**Calidad y colaboración:**
* Diseñar e implementar **pruebas unitarias, de integración y funcionales** adecuadas para garantizar que los sistemas cumplan su propósito.
* Revisar el trabajo de otros miembros del equipo y ofrecer retroalimentación constructiva mediante revisiones de código y diseños.
* Diagnosticar y resolver incidencias en pipelines de datos, servicios backend, infraestructura y entornos de clientes.
* Identificar oportunidades para mejorar nuestra arquitectura, ciclo de vida del desarrollo, herramientas, fiabilidad y prácticas de ingeniería.
* Apoyar a los miembros menos experimentados del equipo mediante revisiones de código, debates técnicos, documentación y compartiendo buenas prácticas de ingeniería.
* Planificar y priorizar eficazmente su trabajo y colaborar estrechamente con otros miembros del equipo de ingeniería.
**Datos de clientes e integraciones:**
* Trabajar tanto con clientes nuevos como existentes, así como con equipos internos de 24i, para **incorporar e integrar datos en la plataforma de Personalización**.
* Investigar incidencias relacionadas con la calidad de los datos, las integraciones y la plataforma durante la incorporación y su operación continua.
* Dar soporte a las integraciones existentes a medida que evolucionen los requisitos de los clientes y las capacidades de la plataforma.
**Habilidades y requisitos**
**Imprescindibles:**
* Sólidas habilidades de desarrollo en **Python**, incluida experiencia en la construcción de sistemas backend y/o de datos en producción.
* Sólidas habilidades en **SQL** y experiencia trabajando con conjuntos de datos analíticos u operativos.
* Experiencia diseñando, construyendo o manteniendo **pipelines de datos y flujos de trabajo de procesamiento de datos**.
* Comprensión de los principios de **modelado de datos, transformación de datos y calidad de datos**.
* Experiencia práctica desarrollando y operando sistemas en un **entorno en la nube**, preferiblemente AWS.
* Experiencia con la **orquestación de flujos de trabajo** y los desafíos operativos de ejecutar pipelines de datos de forma fiable.
* Experiencia implementando y operando **observabilidad** para sistemas en producción mediante registros (logs), métricas, trazado (tracing) y monitorización.
* Experiencia diseñando e implementando **pruebas automatizadas**, incluidas pruebas unitarias e integradas.
* Experiencia con prácticas **CI/CD** y entrega automatizada de software.
* Sólidos fundamentos de ingeniería de software, incluida la capacidad de diseñar, depurar, revisar, refactorizar y mantener sistemas en producción.
**Deseables:**
La experiencia en una o más de las siguientes áreas sería beneficiosa, aunque no obligatoria:
* Tecnologías sin servidor de AWS, como **Lambda, API Gateway, SQS, S3, Athena y Glue**.
* Tecnologías de Infraestructura como Código (IaC), como **CloudFormation, Terraform o AWS CDK**.
* Tecnologías y patrones de orquestación de datos.
* **OpenTelemetry** o tecnologías similares de observabilidad.
* Formatos de datos en columna y plataformas analíticas de datos.
* Tecnologías de búsqueda e indexación como **Elasticsearch**.
* Desarrollo con **React y TypeScript**.
* Técnicas de modelado de Ciencia de Datos y Aprendizaje Automático.
* Sistemas de recomendación y tecnologías de personalización.
* Productos de análisis y Business Intelligence como **Tableau o Power BI**.
* Experiencia desarrollando dentro de un marco ágil como Scrum o SAFe.
* Certificaciones de AWS, como SysOps Administrator, Developer o Solutions Architect.
* Conocimientos del sector televisivo, VOD, streaming o medios.