Interested in engineering? Programming? Lateral thinking? Brian Runciman MBCS spoke to IBM Distinguished Engineer Richard Hopkins about the many career possibilities presented by quantum computing - both now and those that are coming down the line.

We can start this article with high complexity and discuss superposition and entanglement... but let’s go accessible. If you know Python, there may be a fascinating career waiting for you. It is a truism that people have a career even in areas where they don't understand what's behind it. That’s why we have levels of abstraction in programming languages - not everyone wants or needs to know machine code.

Where to start

As small quantum machines can be emulated on classical computers, I asked Richard whether emulators are a good place to start to learn the possibilities. ‘Yes. You can prove the way an algorithm works with a relatively small number of qubits and then, when the larger machines become available, you can do it on larger ones. All the learning that can be done, you can do on pretty much on simulators. They can either pretend to be real and have noise built in, or you can just simply use them as if you had real logical qubits and get rid of the noise and see what the results would be in a perfect world.‘

What is the noise Richard is referring too? I initially thought that it may be to simulate quantum uncertainty… ‘No,’ says Richard. ‘Quantum uncertainty isn't quite as uncertain as everybody thinks it is - everything is pretty much deterministic in the quantum world, it's just not intuitive, it doesn't obey the same rules that we see in the macroscopic universe. When we get a result out of a quantum computer, we move from the quantum realm to our world, in which we only measure single results.

But each time we run a quantum program or circuit we might get a different result. However, although those individual results are random, by running the program lots of times, we can see a predictable pattern which takes us to the real answer. So, although we have this idea that the quantum world is somehow random, it isn't - at a holistic level it is mathematically predictable - which is why, with careful engineering, it's actually getting quite good for computational purposes.’

The noise here being discussed here is fundamentally the noise of the universe being simulated, simply because all the machines we have sit in the real universe, and the universe is a warm and noisy place with lots of things flying around in it.

Richard comments that a noise-free environment - aiming for ‘perfect’ answers - is the right place to start, ‘because then you can see what the gates are doing. You can see what the math is meant to be doing. At some point, you get to want to run this for real, to see whether it would work on a real quantum computer. At that point, you make the transition, but for starting out, tools like our Quantum Experience are very graphical and you get instant visual feedback.’

IBM have gone beyond a simple developers’ kit - they have an entire stack, so there are plenty of options for developing the skills needed. ‘Right at the bottom,’ says Richard, ‘you've got a language called QASM. QASM feels like Z80 machine code programming that many of us used on the ZX81 or ZX Spectrum. You can then use our on-line Quantum Experience, or our Python library called Qiskit to assemble quantum computing programs (called circuits) using the QASM language.

'At the lowest level, Qiskit reaches down even lower than traditional machine code as you can define custom gates (instructions), so you can effectively manipulate the instructions that you use in your machine language program! We’ve now got the ability to create custom gates, and change how circuits are optimized for different quantum computers. This is a level of software engineering that is unusual and brings you very close to the hardware.’

That engineering level would appeal to someone who understands enough about particle physics and quantum physics to be able to understand and work out how the gates work and to try and optimise them. It feels very similar to somebody used to machine language or Assembly.

‘But again,’ says Richard, ‘we recognise that a lot of people weren't that familiar or comfortable with machine code and Assembly, so there's another level above that. This is the core of Qiskit and it is expressed in Python. At the Python level if you want to, you can manipulate the machine code level instructions, or you can use higher level constructs to interact with the quantum machine, which is what we're encouraging people to do.’

What about if you’re not a Python programmer? ‘On top of that,’ says Richard, ‘there's a whole bunch of industry specific libraries. Some of them are being created already, some are in gestation. For example, in the materials science space we have Qiskit Nature that allows you to compute the ground state or excited energies of molecules. That’s a great example where we've taken the existing industry standard leading open-source simulator tool, a Python library, and we've replaced the classical computer from the bottom of it and replaced it with a quantum one.’

The underlying principle is that, as far as the end-user is concerned, they are still being a material science person or a molecular biologist - they are still working with their existing libraries - but under the covers, without knowing it at all, they're using a quantum computer.

These different levels of abstraction hit different parts of the skill area. As Richard says, ‘We know quantum computing will never be big if we require everybody to understand what superposition and entanglement are, so we've got to have more abstract libraries like Qiskit Nature or Qiskit Finance to enable businesses to be able to use this stuff.’

What's coming next? Richard says: ‘Serverless access. At the moment, you use our quantum computers over the cloud via what is essentially a batch process, but we are very close to having this as a serverless capability on the web.’

Engineering roles

In addition to programming, there's a huge number of jobs around engineering, because quantum computing has now gone beyond a fundamental science challenge.

Richard points out that now we've got working quantum computers, ‘the problem now is how to scale them, and that tends to be more of an engineering problem than a science problem. So, there's a whole bunch of roles that are coming through about cryogenics, how you deal with noise, the actual way that the pulses are attenuated and amplified, or the microwave control circuits.’

Future roles

There are interesting roles now in quantum computing - but there are other things in the future that we can see will be needed. Richard comments: ‘We're going to need to be able to link these machines together using quantum techniques. The UK is a world leader in quantum sensors and quantum optics already, so you know there's going to be demanding engineering roles coming down the track in those spaces.’

For you

Be part of something bigger, join BCS, The Chartered Institute for IT.

In recent years, the likes of BCS have been trying to encourage folks to engage in computational thinking, or at least take that seriously as a concept. So does this approach change the nature of computational thinking. Richards’ answer is yes and no: ‘It does, yes, absolutely it does. But quantum computers, at the end of the day, must be programmable and need to work with conventional computers, so those skills remain highly valuable.

'The first real world problems solved by quantum computers will be solved using hybrid algorithms running on a combination of traditional and quantum computers. Qiskit and Python will enable people with ‘traditional’ computational thinking to solve all kinds of everyday problems.

In addition to those people, there will also be people needed to translate business problems into novel quantum circuits and algorithms. What kind of people will be suited to these sorts of roles? ‘To come up with a quantum algorithm in the first place,’ says Richard, ‘you need more than 3D spatial awareness. I'm not sure many people have got 4D spatial awareness, but it would be incredibly helpful! If you can imagine a hypercube in your head, you're probably doing alright.

‘There's an arts and visual element to this part of quantum as well. Coming up with the algorithms of the future is as much about visual imagination and understanding how to manipulate things in imaginary spaces, as it is to do with complex mathematics.’

When I suggested it’s like an algorithm explainer role, Richard says, ‘I like to think of it as a “metaphor mapper”. Each of the quantum algorithms does a slightly different thing with different levels of speed up. What you're trying to do with the quantum algorithm is usually amplify an answer or reduce the overall energy of the circuit until you can spot the answer. The process is quite iterative. As a result, it's not straightforward how you get from the business problem to the right quantum algorithm. You've got to find a way of translating the real-world concepts into a quantum space.’

‘The kids who are coming up through STEM and into universities who are fascinated by this stuff and have been playing with it are not as limited as those who have had a lifetime of using classical algorithms. They can intuitively map from that problem to that optimised view, so they can work out how they best represent it. From the perfect Quantum Computing simulation of a small version of the problem, do I get a reasonable answer out the other side? Does it correspond to the classical equivalent?

'You have to have a way of at least visualising in your mind, or using a tool, to see the state of the quantum machine at any point in time as you're developing the algorithm. You kind of need middle brained people - a really strong mathematical capability somewhere in the brain, but also that ability to think laterally, which often comes from the more artistic side of the brain.’ A metaphor mapper will be a creative role - they always say the best mathematicians tend to be imaginative as well as logical.’

Self-education

Richard is very clear on the role of self-education in this brave new quantum world. ‘It is good for people to use online tools like our Quantum Experience to teach themselves how to create superposition and entanglement. Even if they just work through the first couple of chapters of the IBM quantum computing text book,’ he says.

‘It's going to be really easy for you if you're a computer programmer, to understand what the gates do. It might take a bit of time to get your head around the maths, but again, there are online courses on linear dynamics and matrices and everything else.

‘The free IBM textbook will get you to the point where you can understand how to write and execute quantum circuits and how do some minimal error correction – the basics. But if you then want to start applying it to new real-world problems you've got another set of reading to do.’

Richard made one final comment, by way of encouragement: ‘I did an English degree. At the end of the day, if I can do it, anyone can!’

Find out more

View the IBM textbook