Embedded Software Engineer

New Haven, CT /
Software Engineering /
Full-time
Quantum Circuits, Inc. (QCI) is developing a full-stack quantum computing platform using superconducting devices and a modular, robust, and scalable architecture. QCI's mission is to build the first truly useful quantum computers.

Our novel approach to building a quantum computer is based on technology developed over a decade of research at Yale University's world-class quantum labs. Our machines have built-in error correction, unique software features that enable lightning-fast algorithm execution, and multiple modes of operation to solve more algorithms than ever, all in one quantum computer.

As a QCI Embedded Software Engineer, you will join our core group of software engineers and will be tasked with contributing to an essential layer of our stack – the FPGA-based control systems.  The focus of this position will be on developing the embedded software for a variety of components that work in tandem with the FPGA.  This will include developing applications for processors running Linux, drivers and DLLs for host PCs running Windows, and a multitude of exciting features to improve the speed and power of the control system itself, which will directly impact the capability of the quantum computer.  You will be working at a crucial software interface where pure software and hardware meet, so you will be expected to be an integral part of our agile development effort while at the same time understanding the requirements that come with interfacing with hardware engineers.

We're looking for someone who has a strong desire to work with smaller, focused teams, collaborating directly with software engineers and demonstrating leadership in initiating new projects in enhancing QCI's stack. You should also be excited about working at a company where writing software that runs on actual hardware will be one of your highest priorities. At the end of the day, we're building both software and hardware, so the two have to mesh, and you'll be playing a central role in making sure that's seamless.

So, why join QCI?  You’ll be building software for something that’s totally new, an entirely different way of computing, at a place where your curiosity, ingenuity, and initiative will thrive - you'll learn a ton by working with us and have a lot of fun doing it. We have a deep, fast-paced team that's passionate about building the best quantum computers in the world. Join us if you want to be at the forefront of the quantum revolution. 

As a QCI Embedded Software Engineer, here's what you’d be working on:

    • Developing fast embedded software that enhances the execution of programs that control the quantum hardware 
    • Implementing large-scale data transfer protocols within our FPGA-based control electronics systems through driver design for PCIe and USB based devices 
    • Developing low-level libraries that are accessible through higher-level APIs such that software engineers operating at higher levels of our stack can seamlessly access our hardware’s features 

What we're looking for from you:

    • Extensive experience in embedded systems programming 
    • Programming communication interfaces between FPGAs, ARM processors, and hosts 
    • Fluency in C and C++; experience in Python a big plus
    • Fluency in developing for Windows and Linux 
    • Experience with driver development and target-host data transfer
    • Experience with microwave-frequency domain electronics a big plus 
    • Excellent attention to detail, communication skills, and ability to work collaboratively within a multi-faceted software team, where iterative development is essential for success