TSMC
Precision AI
Engenheiro(a) de Dados Sênior
VISÃO GERAL DA FUNÇÃO
Esta é a primeira função dedicada de engenharia de dados da Precision AI. Nossa equipe de IA treina modelos de visão computacional em várias centenas de terabytes de imagens de drones e telemetria de voo coletadas em temporadas de cultivo reais. Esse arquivo reside em S3 como Parquet e imagens, consultado com Athena. Cada execução de treinamento depende do conhecimento tribal sobre quais prefixos contêm qual temporada.
Você construirá a plataforma que corrige isso. Você será responsável por como os dados de campo vão da aeronave para um ativo governado, consultável e reproduzível do qual nossos engenheiros de ML podem extrair conjuntos de treinamento com confiança, e sobre o qual o negócio poderá eventualmente relatar.
Esta é uma função prática de contribuidor individual sênior, reportando-se ao Líder da Equipe de IA. Você não gerenciará pessoas. Você definirá a direção técnica para os dados na Precision AI e será medido pelo fato de a equipe de IA poder avançar mais rapidamente por causa disso.
Esta função híbrida é baseada em Calgary e trabalhará na sede da Precision AI 3 dias por semana.
PRINCIPAIS RESPONSABILIDADES
Arquitetura da Plataforma de Dados
- Projetar a camada lakehouse sobre nossa pegada existente de S3 e Parquet, incluindo seleção de formato de tabela (Iceberg ou Delta), estratégia de particionamento, evolução de esquema e um catálogo pesquisável.
- Decidir o que permanece como imagem bruta e o que se torna uma tabela gerenciada, e documentar o porquê.
Engenharia e Orquestração de Pipelines
- Estabelecer a orquestração do zero.
- Avaliar e selecionar as ferramentas (Airflow, Dagster, Prefect ou equivalente), em seguida, construir pipelines batch que sejam idempotentes, passíveis de backfill e observáveis.
Ingestão de Campo para Nuvem
- Construir ingestão confiável para imagens de drones e telemetria capturadas em campo, muitas vezes com conectividade ruim.
- Lidar com validação, deduplicação e verificações de integridade perto da captura.
Habilitação de Dados de ML
- Trabalhar diretamente com engenheiros de IA para transformar capturas brutas em conjuntos de treinamento e avaliação curados e versionados.
- Ser o responsável pela linhagem e versionamento de conjuntos de dados para que qualquer modelo em MLflow possa ser rastreado até os dados exatos que o produziram, dois anos depois. Apoiar fluxos de trabalho de anotação e nosso banco de dados vetorial.
- Aplicar técnicas fundamentais de machine learning e visão computacional, incluindo classificação, detecção, segmentação, clusterização e regressão, para extrair insights significativos, enriquecer conjuntos de dados e apoiar a curadoria de dados em escala.
Qualidade e Confiabilidade dos Dados
- Definir contratos de dados, testes automatizados e monitoramento de frescor e anomalias.
- Ser o responsável pela linhagem desde a captura bruta até os conjuntos de dados e recursos que os modelos consomem. Estabelecer os padrões de qualidade de dados com os quais a equipe codifica.
- Utilizar modelos de ML e visão computacional para automatizar a avaliação da qualidade dos dados e a análise de conjuntos de dados em larga escala, incluindo estimativa de qualidade de imagem, extração de recursos, detecção de anomalias e análise de distribuição de dados.
Gerenciamento de Custo e Desempenho
- Ser o responsável pelo ciclo de vida da classe de armazenamento S3, compactação de arquivos e custo de varredura do Athena.
- Em nossa escala, as decisões de layout de armazenamento e consulta são a principal alavanca de custo, e esperamos que você trate isso como um problema de engenharia, em vez de um problema financeiro.
Habilitação de Análise
- À medida que a plataforma amadurece, estendê-la para atender à análise de negócios e de produtos: uma camada de data warehouse modelada, ferramentas de transformação como dbt e uma camada semântica para relatórios.
- Esta é uma fase posterior da função, não uma responsabilidade do primeiro dia, e você ajudará a decidir quando ela se tornará a prioridade.
Prática de Engenharia
- Escrever Python de nível de produção.
- Usar infraestrutura como código, conteinerização, CI/CD e controle de versão como padrões, em vez de reflexões tardias.
- Elevar o nível em toda a equipe de IA por meio de revisão de código e estabelecendo os padrões de engenharia de dados sobre os quais outros engenheiros se baseiam.
Comunicação Técnica
- Comunicar decisões de design, trade-offs e progresso claramente para engenheiros e parceiros não técnicos.
EXPERIÊNCIA RELEVANTE
REQUISITOS
- 4+ anos de experiência na construção e operação de plataformas de dados em produção, com clara responsabilidade pelos sistemas que você projetou, em vez de apenas realizar a manutenção.
- Forte conhecimento de Python, com fundamentos sólidos de engenharia de software: testes, estrutura de código, controle de versão e revisão de código.
- Profunda experiência prática com AWS, particularmente com S3, Athena ou motores de consulta equivalentes, IAM e gerenciamento de custos em escala.
- Experiência de produção com um orquestrador de fluxo de trabalho (Airflow, Dagster, Prefect, Step Functions ou similar).
- Conhecimento avançado de SQL e julgamento demonstrável de modelagem de dados.
- Experiência com formatos colunares e formatos de tabela abertos: Parquet mais Iceberg, Delta ou Hudi.
- Histórico comprovado de projeto para reprodutibilidade, incluindo versionamento de dados, linhagem e correção de backfill.
- Conforto em operar sem uma plataforma existente para se apoiar e o discernimento para sequenciar o que é construído primeiro.
- Sólido conhecimento fundamental de machine learning e visão computacional.
REQUISITOS DE EDUCAÇÃO
- Bacharelado ou mestrado em ciência da computação, engenharia da computação, engenharia de software e ciência de dados.
BÔNUS
- Experiência com dados geoespaciais e raster: GeoTIFF, GeoTIFF otimizado para nuvem, GDAL, tiling e sistemas de referência de coordenadas.
- Experiência em dar suporte a equipes de visão computacional ou ML, incluindo curadoria de conjuntos de dados de treinamento, pipelines de anotação ou feature stores.
- Familiaridade com MLflow, DVC, LakeFS ou ferramentas comparáveis de versionamento de experimentos e dados.
- Experiência em processamento distribuído: Spark, Ray ou Dask.
- Exposição a engenharia de análise: dbt, modelagem dimensional, ferramentas de BI.
- Infraestrutura como código: Terraform, CDK ou Pulumi.
- Kubernetes.
- Agricultura, sensoriamento remoto, robótica ou outro domínio com grandes conjuntos de dados derivados de sensores.
