As a junior software engineer who found a role working in quantum computing, 2024 has been a really interesting year. I wanted to share this post as an example for others just coming into this industry as it can seem like everyone is an expert and knows exactly what they are doing. Which isn't really the case. My journey isn't too special, but going through college I thought I would end up either in finance as a quant, or at some giant software company in California (you know the ones), so going from a theoretical understanding to a hands-on development role in such an important new industry as quantum computing has been a surprise. And a lot of hard work. And an opportunity that I won't be wasting to continue to grow and learn and be able to help others do so too.
The quantum computing community's embrace of Julia caught my attention early this year. While Python remains dominant, Julia's quantum packages like Yao.jl and QuantumOptics.jl offered surprisingly elegant solutions for quantum circuit design. The language's multiple dispatch system proved particularly useful for handling different quantum gate implementations. However, the learning curve was steep - coming from Python, I spent countless evenings trying to better understand Julia's type system. The learning path on Julia's own site is really good though.
My relationship with Qiskit has changed a lot since the first tutorials back before the 1.0 update. I'm still finding a lot of broken resources because of that update but at least now I don't see it just as a black box for circuit construction. I've had to learn how to use its pulse-level programming capabilities for work (although "be aware of" is probably more accurate then being an expert in how to do this day to day). This deeper understanding helped me understand what my team are doing when they optimize our error mitigation strategies, particularly when dealing with cross-talk on IBM's devices. The transition from Circuit to Primitive-based workflows in Qiskit took adjustment, but ultimately led to more maintainable code.
Outside of my day job I got to access more IonQ and Quantinuum hardware through Amazon Braket and Microsoft Azure Quantum. One of my mentors who was a product manager for a quantum company pushed me to try all the various quantum onboarsding guides I could find and it was a great idea. I worried that it might feel like a lot of abstracted walk throughs but it forced me to try new systems I wouldn't have otherwise used. For example the contrast between superconducting and trapped-ion systems became tangible rather than theoretical. I learned the hard way that algorithms performing well in simulation often require substantial modification for real hardware. And cross-platform benchmarking became a regular part of my workflow, teaching me to think more critically about qubit connectivity and gate fidelities.
Another nudge from the mentor angle was to explore all the different open source projects. I was really impressed by Classiq's algorithm library and their various workshops and hackathons and outreach efforts make it easier to get involved and learn by doing. It also opened my eyes to intermediate representations in quantum circuit synthesis. Their approach to automated circuit optimization challenged my understanding of quantum compilation. While I initially struggled with their abstraction layers, the ability to generate hardware-aware circuits across different backends proved invaluable for our projects. I also got to jump into some new open source communities like the Unitary Fund, which while I haven't been particularly noisy as a part of it, I appreciate it exists and I can dip in and out and see what everyone is talking about. I hope to get more involved in 2025.
Microsoft's Azure Quantum training proved unexpectedly valuable. I could roll this under the categories above but this was a real surprise for me as someone who doesn't use any Microsoft tools otherwise. Which I know some older friends find amazing as they've all come through the previous generation where Microsoft was dominant. Beyond the platform-specific knowledge, I gained practical experience with Q# and quantum intermediate representation (QIR). The structured approach to error correction and the exploration of the ideas of topological qubits gave me a stronger foundation in quantum error correction principles. Also a really smooth set of documentation and user guides.
One of the most encouraging developments this year has been connecting with more women in quantum computing. I don't come from science academia so I'm used to there being a lot less women in software engineering, so this is a happy surprise. I see great inspiration everywhere, like the Qubit by Qubit team, or all of Anastasia's videos, or even Hannah Fry's excellent video documentary for Bloomberg recently. Plus heaps of inspiring peers and colleagues who I will spare the public links! But thank you to all of them and everyone who makes it easy to just get involved and get to work.
Looking Forward
As I reflect on this year's journey, I'm struck by how rapidly the field evolves even while we all complain that it's taking so long. The gap between theoretical proposals and practical implementation continues to narrow, though significant engineering challenges remain. For junior engineers entering the field, my advice would be to maintain strong foundations in both classical and quantum algorithms while staying adaptable to new tools and approaches. And be prepared to work on a big problem for a long time. The rewards in the meantime are worth it!
The above is the detailed content of What I learned in Quantum Computing this year (as a Junior Engineer). For more information, please follow other related articles on the PHP Chinese website!