This is Expert.info, a Q & A series by Triplebyte where we ask software and computing professionals to go deep on a technology or work practice they use and know well.
For this edition, we spoke with the technical team at Atom Computing about why their unique approach to quantum computing can help the nascent technology scale and what kind of software engineers they're trying to bring in to help deliver it to more end-users.
(The chat below has been edited for clarity and brevity.)
Daniel Bean, Triplebyte Compiler Editor
Jonathan, let’s start with hearing a bit of how you, as a co-founder of Atom, got into quantum computing. Did it begin more on the quantum side or the computing side?
I started out in chemical engineering for my undergraduate and graduate degrees, including my PhD at UC Berkeley. The research I ended up doing was with nuclear magnetic resonance spectroscopy, which is not quantum computing, but I think it’s fair to say it’s one of the first quantum technologies. For context, it’s also the same underlying physics that makes magnetic resonance imaging (MRI) work. But because of that work, I found a lot of the concepts of quantum to be interesting, and at the same time a lot of the skills I developed were very relevant.
But it wasn’t just the science behind quantum that I was drawn to. Being in the chemical engineering and chemistry world, I gained familiarity with the challenges of simulating molecules. And these are the simulations that are used to project behavior for making better catalysts for use in the energy industry, or make better fertilizers, or improve pharmaceuticals. And it’s always been really exciting to me that quantum computing could provide the tools to solve those sorts of simulation challenges and, by extension, real-world problems.
So quantum engineering is your skillset, Jonathan, and according to some generous documentation and visuals you’ve sent my way, I understand that essentially covers the bottom of the quantum computing stack. But Atom, not unlike other quantum computing companies, also has a need for software and firmware engineers, or people with a heck of a lot more background in the computer science part and not so much the quantum part, correct?
Right, we have a strong quantum engineering team which we are continuing to grow, and what we’ve constructed with them is a neutral atom approach to quantum computing. If you want to get into the weeds, it’s an apparatus to trap and coherently manipulate qubits constructed from ultra-cold strontium atoms.
Yes, of course...
Long story short, in addition to the quantum engineering side, we are building systems that deliver a quantum computing service to users. So we are in search of more software engineering talent to help us build out and automate the processes that make our apparatus approachable and accessible to end users with high-level applications.
Some roles call for machine learning and data engineering skills and/or experience building back-end infrastructure. For firmware engineers, things like a background in Linux kernel driver development, memory-mapped hardware interface experience, and hardware-accelerated algorithm development chops come into play.
And there’s no physics degree or science background required for these roles?
Yeah, I don't feel like I need to know how to turn on lasers or define the atomic states that we're using the RF to manipulate. That's someone else's job. It's the quantum engineering team who elucidates the requirements for all that stuff so that we can translate it into hardware and software code.
The funny thing is, since we’re only really getting started with growing beyond our core quantum engineering team, if you don’t have a PhD in physics or chemistry, you're probably bringing expertise we're more in demand of right now, and that's either software engineering expertise or expertise working within technical organizations.
I know that plenty of software engineers are lured into specific lines of work by the kinds of interesting problems they’ll get to help solve. Knowing that a software engineer at Atom won’t necessarily be getting their hands dirty directly solving some of the quantum engineering stuff, what do the higher stack challenges – or perhaps more relatable general computing challenges – look like for them?
The process of building and running a quantum computer, and then keeping it running, has many facets when it comes to software. Some of those facets benefit from knowledge at the quantum mechanics level of how the underlying atomic physics processes are driven. Most of them, however, do not. We need people that can write clean, modular, testable code. As Jonathan mentioned, some of those people work on firmware for the instruments that control the atoms. Some of them work on the layers of abstraction that allow us to compile a quantum circuit described at the gate level into the pulse trains that get loaded onto and executed by those instruments. Some of them work on managing the data flows and database architecture we need in order to keep the machine calibrated. Some work on image processing, quantum information, ML and stats in order to characterize and benchmark the gates that we apply to our qubits. There is a smorgasbord of software challenges to partake of, so even if you're not a quantum physicist, you won't get bored here!"
You mentioned some of the kind of experience that you’re looking for in software engineers, like machine learning and general back-end, but can you talk about more skills or even point to a role inside of a software-based company that might translate well?
So I came from Google, and most of the work that I did there could probably be classified as data engineering. A lot of the actual grind was building robust pipelines to stream and process large amounts of data, update indices, things like that. And I would say that’s had a direct application in terms of how I think about what Atom is doing.
Bottom line, being able to write clean code can get you very far in our work. Unlike a simple website or app, for what we’re doing, it's difficult to go out and find pre existing software to cobble together. In other words, it's a lot of ground-up work, and that means making good decisions with respect to software architecture and technical debt, hence the strong need for good intuition around best practices.
On the tools side, we’ve gone with Python and C++ for their respective areas of our stack. We like Python because you can write quick, dirty code to test a quick prototype of an idea, but you can also evolve it into disciplined, type-checked, well-tested software. We use C++ at the lower levels of the stack where it's necessary for performance and compatibility with hardware.
And for our firmware engineers, I’ve seen that experience at test and measurement companies – like Agilent or Tektronix, for example. Or experience with networked embedded devices matches well. There are many similar closer-to-the-hardware problems in that line of work to what we are doing.
So finally, let’s say I’m a software engineer and I’ve decided quantum computing is an exciting field and I want in. What is your pitch to convince me that Atom Computing and its unique neutral atom approach is the best wave to ride in on?
Ultra-cold atoms have been successfully used in quantum technologies such as atomic clocks, but the scientific community has only recently advanced these techniques to the stage that they can be leveraged at all for the quantum computing industry. The most valuable applications will need way more qubits than any current machine has produced, and there are several reasons why we believe that our technology is the most viable answer to this scaling challenge.
For one, the neutral atom system we’ve built doesn’t require qubit fabrication because the qubits are naturally-occurring atoms which are perfectly identical. Qubits are controlled optically and read out by taking a picture, so there is no need for wired connections.. Atoms also have extremely long coherence lifetimes which means the quantum information persists and allows high-fidelity operations. It’s an incredibly exciting time at Atom owing to both the technology itself and the dynamic team we’ve assembled.
The TLDR is that atoms are nature's perfect quantum bits, and our really cool lasers can put them to work.
Triplebyte helps engineers find great jobs by assessing their abilities, not by relying on the prestige of their resume credentials. Take our 30 minute multiple-choice coding quiz to connect with your next big opportunity and join our community of 200,000+ engineers.