QuEra Computing, Inc.

Ingeniero de Software Científico – Programación de Máquinas

PythonC++Rust
Traducción automática. Consulta el original.

Resumen

Este puesto ayuda a los científicos que construyen y operan los ordenadores cuánticos de átomos neutros de QuEra a programar dichas máquinas de forma eficaz. Te encargarás del mantenimiento del lenguaje específico del dominio y de la pila de compilación, construidos sobre la cadena de herramientas de código abierto Kirin, que los físicos experimentales utilizan a diario para ejecutar sus experimentos.

Trabajarás en estrecha colaboración con físicos e ingenieros de la pila de control. Ayudarás a los equipos de máquinas a convertir nuevos experimentos en programas funcionales, mantendrás la fiabilidad de la cadena de herramientas a medida que evoluciona nuestro hardware e impulsarás su integración con nuestro sistema de control. El puesto es ideal para un ingeniero al que le guste crear herramientas y, al mismo tiempo, ayudar a otros a tener éxito con ellas.

QuEra se compromete a cultivar un entorno de trabajo diverso y se enorgullece de ser un empleador que ofrece igualdad de oportunidades. Valoramos enormemente la diversidad en nuestros empleados actuales y futuros y no discriminamos (incluso en nuestras prácticas de contratación y promoción) por motivos de raza, religión, color, origen nacional, género, expresión de género, orientación sexual, edad, estado civil, estatus de veterano, estado de discapacidad o cualquier otra característica protegida por la ley.

Responsabilidades

  1. Mantener el lenguaje específico del dominio y su pila de compilación: clasificar problemas, corregir errores, revisar pull requests, gestionar versiones y mantener en buen estado el CI, las pruebas y las dependencias.
  1. Actuar como punto de contacto para los equipos de máquinas y bancos de pruebas que programan sus experimentos. Ayudarles a crear nuevos experimentos, portar programas heredados y diagnosticar problemas de compilación o tiempo de ejecución.
  1. Trabajar con los ingenieros de la pila de control en la integración de los programas compilados con nuestro sistema de control. Esto incluye definir y hacer evolucionar la representación del programa que se transmite entre el compilador y el sistema de control, mantener ambos sincronizados entre versiones y depurar problemas que afecten a ambos.
  1. Convertir los problemas de los usuarios en informes mínimos reproducibles, pruebas de regresión y correcciones específicas, y trabajar con el equipo del compilador en cambios más amplios del lenguaje o de la IR.
  1. Detectar y solucionar problemas de rendimiento en la compilación y ejecución de programas, como el tiempo de compilación, el tamaño del programa y la precisión de la temporización.
  1. Escribir y mantener documentación orientada al usuario, tutoriales, programas de ejemplo y habilidades de agentes que faciliten a los físicos la escritura de programas correctos.
  1. Trabajar con el equipo de control de hardware para dar soporte a nuevos tipos de canales, hardware de control y configuraciones de máquinas.
  1. Recopilar comentarios de los usuarios de las máquinas y convertirlos en una hoja de ruta priorizada para mejoras de usabilidad.

Cualificaciones

  1. Grado o Máster en Informática, Física, Ingeniería Eléctrica o un campo relacionado, o experiencia profesional equivalente.
  1. Sólidas habilidades en Python, incluyendo sugerencias de tipo (type hints), empaquetado y pruebas (pytest).
  1. Disfrutar creando herramientas para científicos que no son desarrolladores de software profesionales y trabajando en estrecha colaboración con ellos. Comunicación clara, tanto escrita como verbal.
  1. Experiencia trabajando entre equipos: acordar interfaces, coordinar cambios entre componentes y depurar problemas que abarcan varios sistemas.
  1. Experiencia en la depuración de código desconocido y en la reducción de fallos complejos a reproducciones mínimas.
  1. Familiaridad con el ciclo de vida completo del software: control de versiones, revisión de código, pruebas, CI/CD, registro, perfilado, depuración y documentación.

Cualificaciones preferentes

  1. Experiencia con compiladores, lenguajes específicos del dominio o representaciones intermedias basadas en SSA (la experiencia con Kirin, MLIR o LLVM es una ventaja).
  1. Antecedentes en física experimental, especialmente en control de laboratorio de física atómica, molecular y óptica (AMO) (AWGs, AOMs/AODs, DDS, sistemas de temporización, cámaras).
  1. Experiencia con sistemas de control en tiempo real o integrados, FPGAs o marcos de control de experimentos como ARTIQ o Labscript.
  1. Experiencia con sistemas de programación o ejecución en tiempo real, como planificadores de tiempo de ejecución, sistemas de streaming o de despacho de instrucciones.
  1. Experiencia con C++ o Rust.
  1. Contribuciones a bibliotecas de código abierto.
  1. Experiencia en el uso de agentes de codificación de IA en un flujo de trabajo de desarrollo.

El rango salarial base aproximado para este puesto es $102,400 - $166,400.

Supervisamos constantemente los datos del mercado externo y actualizamos los rangos salariales base en consecuencia. Determinamos las decisiones de compensación base en función de varios factores, incluyendo la ubicación geográfica, los conocimientos específicos del puesto, las habilidades y/o la experiencia. Además de nuestras ofertas de salario base, también proporcionamos subvenciones de capital (equity) para todas las nuevas contrataciones.

#LI-NB1

Más oportunidades con un solo perfil

¿Quieres optar a más puestos sin repetir todo el proceso? Crea tu perfil para que te encuentren las empresas que usan Nort.

Crear mi perfil

Tu próximo empleoya está buscándote.

Nort

Plataforma de reclutamiento inverso para programadores