Software Engineer
Role details
Job location
Tech stack
Job description
The duties and responsibilities outlined below include essential functions of the role. Depending on business needs, this role may perform a combination of some or all of the following duties. Duties, responsibilities, and activities may change, or new ones may be assigned at any time.
- Design, develop, and deploy reliable, maintainable, scalable, and fault-tolerant backend services and frameworks that control and calibrate our neutral atom quantum computers.
- Collaborate with interdisciplinary teams, including scientists, opto-mechanical engineers, and electrical engineers, to solve complex problems and deliver high-quality software solutions.
- Empower interdisciplinary teams to create the tools they need by teaching engineering and programming best practices.
- Mentor and guide junior engineers, fostering their growth and enhancing the team's technical expertise.
- Lead code and design reviews, upholding engineering best practices and promoting a culture of quality and collaboration.
- Support and debug all layers of the control stack from real-time embedded kernels to distributed services.
- Advocate for and implement innovative software development methodologies and tools to improve team efficiency and product quality.
Requirements
We are seeking a Senior Software Engineer to join the team building the control system software for Infleqtion's quantum computers. The ideal candidate is an experienced backend engineer with a strong background in creating robust and scalable scientific applications. You will play a crucial role in designing, building, and maintaining backend services and control systems that drive our neutral atom quantum machines., * Bachelor's degree in Computer Science, Applied Mathematics, Physics or related field and a minimum of 5 years prior work experience
- Experience with Python and at least one compiled language, with a desire to learn and work in Rust
- Experience with Linux and virtualization technologies like Docker
- Good verbal and written communication skills, able to effectively share information with technical and non-technical staff
- Good collaboration skills, able to work in a team environment where engagement and participation are an expected part of successful job performance
- Skilled in typical software engineering disciplines: testing, debugging, revision control, error-handling, readability, documentation, general code health, etc.
- Desire to constantly improve and learn inside and outside of expertise
PREFERRED EXPERIENCE:
- Domain-specific experience in statistics, machine learning, or AMO physics
- Experience with Numpy, Scipy, and Pytorch
- Experience with image analysis, emphasis on realtime object detection
- Experience with databases (relational and non-relational) including but not limited to timeseries data, SQL, and ETL processes
- Experience creating CI/CD pipelines, and Python package creation with C or Rust extensions