Six questions to ask when getting started with quantum development
The quantum era introduces a new paradigm—one with endless possibilities and the power to solve some of our most challenging issues. Becoming a quantum developer means you’ll enter this new era with the skills, knowledge, and understanding to bring these solutions to life.
But if you’re like many developers we speak with, you have questions: How does quantum development relate to what you already know? What can you do with it? How steep is the learning curve?
This post tackles the questions we hear most from developers getting started with quantum development.
How long does it take to get up and running?
Less than an afternoon. This includes learning the basic concepts, installing Microsoft’s Quantum Development Kit software, and achieving your first quantum teleportation using superposition and entanglement. When running developer workshops using the Microsoft Quantum Development Kit, we often find participants surprised to learn that quantum development is not as overwhelming as they previously assumed. Once broken down step-by-step, participants pick up the concepts quickly. Developers find the documentation and GitHub samples thorough and easy to follow, and also recognize many similarities between Q# and familiar languages like C# and F#.
Will I need a Ph.D. to understand quantum development? Or at least a background in math and physics?
Not at all. The only requirement for quantum development is a willingness to learn. The Q# language was written with the developer in mind. The language and libraries abstract many of the challenging quantum concepts, helping classical developers learn as they go.
When you begin, you’ll learn how to create a superposition, how to entangle qubits, and how to perform quantum teleportation. These tasks introduce notation that may be new to you, however understanding the underlying math and physics are not necessary to learn how they work and how to use them. As you continue, more difficult algorithms invite you to deepen your knowledge in both math and physics. But you can go at your own pace, and more and more resources are becoming available to help break these problems down into manageable pieces. The Microsoft Quantum GitHub repository includes a variety of thoroughly-commented samples and can be extremely helpful as you get started.
What problems or scenarios are best for quantum computing?
Quantum computing can help solve some of the world’s biggest challenges, but it can also be beneficial on tasks you find in your regular workload. For example, you can search a database using Grover’s algorithm, or perform integer factorization using Shor’s algorithm.
As you build your familiarity with quantum development, you’ll learn the types of problems or scenarios that are best for quantum computing. Simulating quantum systems in chemistry and materials science, machine learning and optimization, and cryptography are anticipated to be areas where quantum computing will have a tremendous impact.
I’ve heard quantum development is different from classical development. Does this mean I’ll have to start from scratch?
Quantum development is different from classical development, but you have much more of a head-start than you may have thought. As a developer, you’ll be writing both quantum and classical code that will work together. The classical code will be for familiar tasks such as data preparation and processing results. The quantum code, written in Q#, will execute operations on the quantum simulator, or—in the future—on the quantum computer. The results produced will then be processed by your classical code.
As you get started, you’ll learn some of the important nuances of quantum development, though some you’ll recognize from classical computing. For example, linear algebra is used in machine learning. Additionally, we describe quantum states as sequences of transformations, much like what you’d find in graphics processing. And there are even aspects of quantum teleportation that look similar to C++.
What can I do with the Microsoft Quantum Development Kit?
The Microsoft Quantum Development Kit provides you with the tools and resources to write, test, and debug full-scale quantum algorithms using simulators that run on classical machines today. A local quantum machine simulator is included to help you review and optimize your code. In addition, you’ll find a quantum computer trace simulator, which will help determine the runtime and resources required to run your quantum algorithm. These features provide you with everything you need to make use of the benefits of quantum today and have useful software ready to run once the hardware becomes available.
How do I to get started?
The best way to begin is by downloading the Microsoft Quantum Development Kit. It includes the tools and resources to learn the basics of quantum development, two types of simulators, and a collection of open-source libraries and samples to help you get started. Our quantum development community is growing daily, and there are many inspiring examples of what other developers have been able to create.
Helpful resources
- We invite you to download the Microsoft Quantum Development Kit
- Watch an introduction and step-by-step demonstration of the Microsoft Quantum Development Kit
- Take a tour through the features of the Microsoft Quantum Development Kit, including support for macOS and Linux, plus Python and Q# interoperability.
- See what’s available at Microsoft Quantum on GitHub
- Check out the Microsoft Quantum GitHub samples
- Read more posts by our contributors on the Quantum Adventures blog
- Follow along on the path to scalable quantum computing with the Microsoft Quantum newsletter