Chainguard
Apple
Engenheiro(a) de Software de Sistema de Machine Learning (m/f/d)
DESCRIÇÃO
Na Apple, estamos na vanguarda da entrega de experiências transformadoras por meio da Inteligência Artificial. Se você é apaixonado por expandir os limites da IA e da otimização de hardware, queremos você em nossa equipe!
Como Engenheiro(a) de Software de Sistema de Machine Learning na equipe do Neural Engine (ANE) da Apple, você trabalhará para dar vida a soluções de IA de alto desempenho e baixo consumo de energia em produtos icônicos da Apple, como o Vision Pro, iPhone, iPad, Mac e muito mais.
Esta é uma oportunidade dinâmica para trabalhar em um ambiente criativo e colaborativo, desenvolvendo tecnologias inovadoras que moldarão o futuro da computação! Procuramos um(a) engenheiro(a) com profundo conhecimento em tecnologia de software de sistema, ansioso(a) para enfrentar novos desafios e responsabilidades à medida que a função evolui. À medida que a posição avança, haverá oportunidades para demonstrar liderança técnica, influenciar decisões de design importantes, colaborar e apoiar outros engenheiros, e ajudar a guiar a direção das capacidades impulsionadas por IA da Apple em todo o ecossistema. Você está pronto(a) para nos ajudar a entregar os próximos produtos inovadores da Apple?
QUALIFICAÇÕES MÍNIMAS
- BS e um mínimo de 10 anos de experiência relevante na indústria
- Experiência na definição de interfaces que são usadas por outras equipes ou desenvolvedores externos, com atenção ao ciclo de vida, tratamento de erros e compatibilidade futura
- Proficiência profunda em C e C++ em software de sistema de grande escala e produção
- Compreensão de sistemas de runtime: modelos de processo/thread, gerenciamento de memória, IPC/RPC e ciclo de vida de recursos
- Compreensão de interfaces de software-hardware: registradores, DMA, filas de comandos ou padrões de interação de aceleradores semelhantes
- Experiência no lançamento de software de sistema de produção
QUALIFICAÇÕES DESEJÁVEIS
- Experiência na construção ou extensão de runtimes de ML, motores de inferência ou pilhas de drivers de acelerador (por exemplo, TensorRT, ONNX Runtime, XLA, Metal, Vulkan compute ou similares)
- Familiaridade com Swift/Rust ou outra linguagem de sistema com segurança de memória
- Familiaridade com pipelines de compilação de modelos de ML e como os APIs de runtime interagem com saídas de compilador (IR de grafo, binários compilados)
- Experiência com cenários de runtime multi-cliente: arbitragem de acesso a hardware, gerenciamento de prioridade/QoS e tratamento de ciclo de vida de cliente (por exemplo, conectar, desconectar, recuperação de falhas)
- Conhecimento de inferência de rede neural: execução de operadores, layout de memória de tensores, pipelining e estratégias de batching
- Fortes habilidades de comunicação e experiência em trabalhar em limites de equipe (equipes de framework, equipes de compilador, equipes de hardware)
