TSMC
Precision AI
Ingeniero/a de Datos Senior
DESCRIPCIÓN DEL PUESTO
Este es el primer puesto dedicado a ingeniería de datos de Precision AI. Nuestro equipo de IA entrena modelos de visión por ordenador con varios cientos de terabytes de imágenes de drones y telemetría de vuelo recopiladas durante temporadas de cultivo reales. Ese archivo reside en S3 como Parquet e imágenes, consultado con Athena. Cada ejecución de entrenamiento depende del conocimiento tribal sobre qué prefijos contienen qué temporada.
Construirás la plataforma que soluciona esto. Serás responsable de cómo los datos de campo llegan desde la aeronave hasta un activo gobernado, consultable y reproducible del que nuestros ingenieros de ML puedan extraer conjuntos de entrenamiento con confianza, y sobre el cual el negocio pueda eventualmente informar.
Este es un puesto práctico de contribuidor individual senior que reporta al Líder del Equipo de IA. No gestionarás personal. Establecerás la dirección técnica de los datos en Precision AI y se te medirá por si el equipo de IA puede avanzar más rápido gracias a ello.
Este puesto híbrido tiene su base en Calgary y se trabajará desde la sede de Precision AI 3 días a la semana.
RESPONSABILIDADES CLAVE
Arquitectura de Plataforma de Datos
- Diseñar la capa de lakehouse sobre nuestra huella existente de S3 y Parquet, incluyendo la selección del formato de tabla (Iceberg o Delta), estrategia de partición, evolución del esquema y un catálogo consultable.
- Decidir qué se mantiene como imagen sin procesar y qué se convierte en una tabla gestionada, y documentar el porqué.
Ingeniería y Orquestación de Pipelines
- Establecer la orquestación desde cero.
- Evaluar y seleccionar las herramientas (Airflow, Dagster, Prefect o equivalente), luego construir pipelines por lotes que sean idempotentes, recuperables y observables.
Ingesta de Campo a la Nube
- Construir una ingesta fiable para imágenes de drones y telemetría capturada en campo, a menudo con conectividad deficiente.
- Manejar la validación, deduplicación y comprobaciones de integridad cerca de la captura.
Habilitación de Datos de ML
- Trabajar directamente con ingenieros de IA para convertir capturas sin procesar en conjuntos de datos de entrenamiento y evaluación curados y versionados.
- Ser propietario del linaje y versionado de conjuntos de datos para que cualquier modelo en MLflow pueda rastrearse hasta los datos exactos que lo produjeron, dos años después. Dar soporte a flujos de trabajo de anotación y a nuestra base de datos vectorial.
- Aplicar técnicas fundamentales de machine learning y visión por ordenador, incluyendo clasificación, detección, segmentación, clustering y regresión, para extraer información significativa, enriquecer conjuntos de datos y soportar la curación de datos a escala.
Calidad y Fiabilidad de los Datos
- Definir contratos de datos, pruebas automatizadas y monitorización de frescura y anomalías.
- Ser propietario del linaje desde la captura bruta hasta los conjuntos de datos y características que consumen los modelos. Establecer los estándares de calidad de datos con los que el equipo codifica.
- Aprovechar modelos de ML y visión por ordenador para automatizar la evaluación de la calidad de los datos y el análisis de conjuntos de datos a gran escala, incluyendo la estimación de la calidad de imagen, extracción de características, detección de anomalías y análisis de distribución de datos.
Gestión de Costes y Rendimiento
- Ser propietario del ciclo de vida de la clase de almacenamiento de S3, compactación de archivos y coste de escaneo de Athena.
- A nuestra escala, las decisiones de diseño de almacenamiento y consulta son la principal palanca de costes, y esperamos que lo trates como un problema de ingeniería en lugar de uno financiero.
Habilitación de Analíticas
- A medida que la plataforma madure, extenderla para servir analíticas de negocio y de producto: una capa de almacén modelada, herramientas de transformación como dbt y una capa semántica para informes.
- Esta es una fase posterior del puesto, no una responsabilidad del primer día, y ayudarás a decidir cuándo se convierte en la prioridad.
Práctica de Ingeniería
- Escribir código Python de calidad de producción.
- Utilizar infraestructura como código, contenedorización, CI/CD y control de versiones como predeterminados en lugar de como ocurrencias tardías.
- Elevar el nivel en todo el equipo de IA a través de revisiones de código y estableciendo los estándares de ingeniería de datos sobre los que otros ingenieros construyen.
Comunicación Técnica
- Comunicar decisiones de diseño, compensaciones y progreso claramente a ingenieros y a socios no técnicos.
EXPERIENCIA RELEVANTE
REQUERIDO
- Más de 4 años construyendo y operando plataformas de datos de producción, con propiedad clara de los sistemas que diseñaste en lugar de solo mantener.
- Sólido conocimiento de Python, con fundamentos sólidos de ingeniería de software: pruebas, estructura de código, control de versiones y revisión de código.
- Profunda experiencia práctica con AWS, particularmente con S3, Athena o motores de consulta equivalentes, IAM y gestión de costes a escala.
- Experiencia en producción con un orquestador de flujos de trabajo (Airflow, Dagster, Prefect, Step Functions o similar).
- Conocimiento avanzado de SQL y juicio demostrable en modelado de datos.
- Experiencia con formatos columnares y formatos de tabla abiertos: Parquet más Iceberg, Delta o Hudi.
- Historial de diseño para la reproducibilidad, incluyendo versionado de datos, linaje y corrección de retrocarga.
- Comodidad operando sin una plataforma existente en la que apoyarse y juicio para secuenciar qué se construye primero.
- Sólido conocimiento fundamental de machine learning y visión por ordenador.
REQUISITOS EDUCATIVOS
- Título de grado o máster en informática, ingeniería informática, ingeniería de software y ciencia de datos.
BONIFICACIÓN
- Experiencia con datos geoespaciales y ráster: GeoTIFF, GeoTIFF optimizado para la nube, GDAL, tiling y sistemas de referencia de coordenadas.
- Experiencia apoyando a equipos de visión por ordenador o ML, incluyendo curación de conjuntos de datos de entrenamiento, pipelines de anotación o almacenes de características.
- Familiaridad con MLflow, DVC, LakeFS o herramientas comparables de experimentación y versionado de datos.
- Experiencia en procesamiento distribuido: Spark, Ray o Dask.
- Exposición a ingeniería analítica: dbt, modelado dimensional, herramientas de BI.
- Infraestructura como código: Terraform, CDK o Pulumi.
- Kubernetes.
- Agricultura, teledetección, robótica u otro dominio con grandes conjuntos de datos derivados de sensores.
