How to become a Quantum Software Engineer

Quantum computing has come a long way in the past decade, and the infamous “It’ll be ready in 5–10 years” might actually be true this time. While the hardware teams continue to make compounding progress, there is a growing need for greater tooling and quantum libraries.Even the term “quantum software engineer” didn’t even exist a decade ago!

If you’re a software engineer looking to get into the field, now is a great time to start learning and developing your skills. It will likely pay dividends for you in a couple of years.

That being said, lets get started.

Do I need a PhD to get into quantum computing?

No. Absolutely not.

How do I know? It’s because I don’t have one, and no one I have ever worked with has asked me about it. We don’t care. If you’re a proven good engineer and you’re not a jerk, you’ll likely be able to get interviews. PhD or not.

What math do I need to learn?

Quantum physics is notoriously heavy on the math, but Quantum Computing is surprisingly easy. If you know:

  1. Matrix multiplication
  2. Complex numbers (adding them, multiplying them, conjugation)
  3. Basic probability theory

Then you know enough math to get started with quantum computing.

That’s it. Really! Quantum computing from the software perspective just boils down to complex matrix multiplication (albeit, with exponentially huge matrices). While the physics community loves to use highly abstract (and scary looking) symbols, they’re still just matmuls.

Where can I start learning quantum computing?

There are a ton of resources online including:

  1. Quantum Computing and Quantum Information by Nielsen and Chuang (a classic)
  2. Pennylane tutorials (Xanadu)
  3. Qiskit tutorials (IBM)
  4. Cirq tutorials (Google)
  5. TensorflowQuantum tutorials (Google)
  6. Brilliant
  7. Coursera

And tons, tons, more. The internet is a beautiful place when you decide you want to learn something. The above links are just good places to start.

Ok cool, I feel like I know QC now. What can I do to make my resume stand out?

One of the really awesome things about the QC field is that it’s not about who you know, it’s more about what you’ve done. If I was interviewing a potential candidate, the things that would stand out to me would be:

  1. Open source contributions

The best way to prove to an employer that you can write quantum software is to write some quantum software. Companies that have open source quantum software LOVE getting good PRs. If you can consistently make solid contributions to packages that are managed by a company you want to work for, they will notice, and they’ll be much more likely to take your resume seriously.

Some good packages to contribute to include: PennyLane, Qiskit, Cirq, TensorFlowQuantum. There are more, but these are the most popular right now.

If you’re just starting, look for github issues that are tagged as “good first issue”. They’re usually small and straightforward, and are tasks that the team just doesn’t have time to do themselves.

2. Writing blogs or tutorials

One of the most difficult parts of quantum computing is actually communication. Every team struggles with it, and if you can show that you can communicate complex ideas in a clean and concise way, you’ll be a valuable asset to any team.

3. Do research, write arxiv papers

Most engineers at these companies do some kind of research in addition to just pure engineering. Writing research papers and posting them on arxiv can be a nice way to prove you know what you’re doing. Even if the research fails, showing your workflow and technical writing skills can still be beneficial.

That’s it?

That’s it! Don’t try to overthink it. Just learn, build, collaborate, and discover. Just know that the wheel of progress doesn’t roll on its own, it is pushed.

Stay curious my friend, I wish you the best.

Machine learning researcher in the making. http://thenerdstation.github.io/