Siemens
QuEra Computing, Inc.
Engenheiro de Software Científico – Programação de Máquinas
Resumo
Esta função auxilia os cientistas que constroem e operam os computadores quânticos de átomos neutros da QuEra a programar essas máquinas de forma eficaz. Você manterá a linguagem de domínio específico e a pilha de compiladores, construída sobre a cadeia de ferramentas open-source Kirin, que físicos experimentais utilizam diariamente para executar seus experimentos.
Você trabalhará em estreita colaboração com físicos e engenheiros de pilha de controle. Você ajudará as equipes de máquinas a transformar novos experimentos em programas funcionais, manterá a cadeia de ferramentas confiável à medida que nosso hardware evolui e impulsionará sua integração com nosso sistema de controle. A função é ideal para um engenheiro que gosta de construir ferramentas e também de ajudar outros a terem sucesso com elas.
A QuEra está comprometida em cultivar um ambiente de trabalho diversificado e orgulha-se de ser um empregador que oferece oportunidades iguais. Valorizamos muito a diversidade em nossos funcionários atuais e futuros e não discriminamos (incluindo em nossas práticas de contratação e promoção) com base em raça, religião, cor, origem nacional, gênero, expressão de gênero, orientação sexual, idade, estado civil, status de veterano, status de deficiência ou qualquer outra característica protegida por lei.
Responsabilidades
- Manter a linguagem de domínio específico e sua pilha de compilação: realizar triagem de problemas, corrigir bugs, revisar pull requests, gerenciar lançamentos e manter a saúde de CI, testes e dependências.
- Atuar como ponto de contato para as equipes de máquinas e de bancadas de teste que programam seus experimentos. Ajudá-las a construir novos experimentos, portar programas legados e diagnosticar problemas de compilação ou de tempo de execução.
- Trabalhar com engenheiros de pilha de controle na integração de programas compilados com nosso sistema de controle. Isso inclui definir e evoluir a representação do programa transmitida entre o compilador e o sistema de controle, mantendo os dois sincronizados entre os lançamentos e depurando problemas que abrangem ambos.
- Transformar problemas dos usuários em relatórios mínimos reproduzíveis, testes de regressão e correções focadas, e trabalhar com a equipe de compiladores em mudanças maiores na linguagem ou em IR.
- Encontrar e corrigir problemas de desempenho na compilação e execução de programas, como tempo de compilação, tamanho do programa e precisão de temporização.
- Escrever e manter documentação voltada para o usuário, tutoriais, programas de exemplo e habilidades de agentes que facilitem a escrita de programas corretos pelos físicos.
- Trabalhar com a equipe de controle de hardware para oferecer suporte a novos tipos de canais, hardware de controle e configurações de máquinas.
- Coletar feedback dos usuários das máquinas e transformá-lo em um roteiro priorizado para melhorias de usabilidade.
Qualificações
- Bacharelado ou Mestrado em Ciência da Computação, Física, Engenharia Elétrica ou área relacionada, ou experiência profissional equivalente.
- Sólidas habilidades em Python, incluindo type hints, empacotamento e testes (pytest).
- Gostar de construir ferramentas para, e trabalhar em estreita colaboração com, cientistas que não são desenvolvedores de software profissionais. Comunicação escrita e verbal clara.
- Experiência trabalhando entre fronteiras de equipes: concordar com interfaces, coordenar mudanças entre componentes e depurar problemas que abrangem vários sistemas.
- Experiência em depurar códigos desconhecidos e reduzir falhas complexas a reproduções mínimas.
- Familiaridade com o ciclo de vida completo de software: controle de versão, revisão de código, testes, CI/CD, registro, profiling, depuração e documentação.
Qualificações Preferenciais
- Experiência com compiladores, linguagens de domínio específico ou representações intermediárias baseadas em SSA (experiência com Kirin, MLIR ou LLVM é um diferencial).
- Experiência em física experimental, especialmente em controle de laboratório de AMO ou física atômica (AWGs, AOMs/AODs, DDS, sistemas de temporização, câmeras).
- Experiência com sistemas de controle em tempo real ou embarcados, FPGAs ou frameworks de controle de experimentos como ARTIQ ou Labscript.
- Experiência com sistemas de agendamento ou execução em tempo real, como agendadores de tempo de execução, sistemas de streaming ou de despacho de instruções.
- Experiência com C++ ou Rust.
- Contribuições para bibliotecas open-source.
- Experiência no uso de agentes de codificação de IA em um fluxo de trabalho de desenvolvimento.
A faixa salarial base aproximada para esta posição é $102,400 - $166,400.
Monitoramos consistentemente os dados do mercado externo e atualizamos as faixas salariais base de acordo. Determinamos as decisões de remuneração base com base em vários fatores, incluindo localização geográfica, conhecimento específico da função, habilidades e/ou experiência. Além de nossas ofertas de salário base, também fornecemos concessões de ações (equity) para todos os novos contratados.
#LI-NB1
