Software Engineer

Berkeley, CA /
Software Engineering /
At Atom Computing, we are developing a quantum computer based on optically-trapped neutral atoms. To run this computer, a multitude of classical optical and electronic systems operate in concert to drive the quantum dynamical processes responsible for real quantum computation. We are seeking skilled software engineers with enough background in physics and mathematics to work across the stack with us while we build out the capabilities of our apparatus. While we definitely welcome candidates with a formal degree in physics or a related quantitative field, "enough background" is a very subjective term: you don't need to have a physics background at all if you are excited to learn what you need as you go.

Job Responsibilities

    • Develop software for quantum computing operations and quantum information protocols (Python, machine learning).
    • Develop and test software drivers for laser and RF control systems and automation protocols for configuration, monitoring, and control of a complex scientific system (Python + asyncio, C/C++).
    • Help develop and maintain the database-backed infrastructure that we use to manage apparatus calibrations and tunings, as well as the data flows for specifying, executing, and analyzing the results of quantum logic programs (Python, SQL).
    • Contribute to the improvement of our software architecture by writing clean, well-tested, well-documented code.
    • Participate in code reviews using Gitlab and perform in system-level testing and debugging.

Job Requirements

    • BS or MS in Computer Science, Physics, Mathematics, or a related field.
    • At least 2 years of relevant professional experience as a software engineer. Experienced candidates and PhDs welcome.
    • Temperamentally suited to work at a fast-growing, early stage startup: self-motivated, humble, driven, collaborative, and having a high tolerance for ambiguity and uncertainty.
    • Proficiency with Python and/or C/C++.
    • Familiarity with Git version control, automated testing, and software development best practices.
    • Willingness to learn some atomic, optical, laser physics, and quantum mechanics concepts to put work in context.
    • Familiarity with SQL, Julia, embedded or real-time operating systems, and FPGA development experience a plus.
    • Some experience using basic machine learning methods (Bayesian inference, maximum likelihood estimation) will be helpful for participating in building out and integrating software tools for quantum state and process tomography.