Transcript
Rene – Hi! Welcome to QuBites, your bite-sized pieces of quantum computing. My name is Rene from Valorem Reply and today we're going to talk about quantum computing for software developers. And for this I’m honoured to have my fellow Microsoft MVP and also special expert guest today, Johnny Hooyberghs. Hi Johnny, welcome to the show, how are you today?
Johnny - Hi Rene! I’m perfectly fine, thank you. And thanks for having me.
Rene - Yeah absolutely! Can you tell us a little bit about yourself and your background as it relates to quantum computing but also software development, computer science, all of that stuff?
Johnny - Well actually I don't really have a background in in quantum specifically. I am a software developer and software architect. I work as a consultant in Belgium, and I just have some free time and most of that free time I'd like to spend on learning new things. So basically, a couple of years ago, I think it's about four years ago, I saw a presentation on a Belgian conference on the topic of quantum computing by Microsoft by somebody from Microsoft and I was interested. I thought quantum computing. I know nothing about that. I know a little bit about quantum physics but just like not PhD level stuff or university level stuff. So, I was just intrigued, and I went to listen to this presentation and it was very hard for me to follow. I found it too difficult and that's when I decided to look into it myself and then yeah like four years ago it was still very difficult to look into that because all the material you find online it's all very theoretical. It's all very hard. If you don't have a physics or mathematics background. So, yeah that's why I decided to make it out of a hobby to teach myself about quantum and it's basically a hobby that got quite out of hand in my case.
Rene - Quite out of hand, well, when it when it comes to quantum computing, I guess this is a good thing. But what conference was it actually in Belgium that you got inside?
Johnny – It was Techorama.
Rene – A shout out to my friends from Tecorama. Well I've also been speaking there at Tecorama and in fact I also proposed to speak there in 2022. So, hopefully we'll be there and maybe we meet up in person. So, well this is this is pretty amazing. So you already told us a little bit about your background and all of it. So, you actually work in consulting and training in IT world right and you got super interested in quantum computing and now you even became a Microsoft MVP. How did that happen?
Johnny – Yeah, so basically, my life is just one thing happening after the other. I’m very happy with that but I've been doing. Software development since 2008. I had various jobs and then since 2014 I’m actually working as a consultant. I really like to help companies with their problems and this is specifically related to Microsoft technologies .net and c-sharp but also Azure cloud and Azure Devops. So that's basically the thing that I’m quite good at good at. So I’m helping customers with. But next to that I was like also teaching in Belgium. We have a system where we, when you already have work you can go to school in the evenings to maybe get a different degree if you like to, switch your work or if you just want to know more about the thing you're working in. So I was actually teaching this this night school, I think two or three nights a week in the beginning, when I did that until 2019 when some things happened in school. The school got merged into another school and for me it was becoming harder to actually go to work during the day and then at night travel a little bit further to this new school and the hours were not so well. So, I stopped teaching after doing it for 10 years which I very much liked and then I got some new free time and then I decided to teach other people. That way I became a conference speaker. So, I first spoke on these local events, then I spoke on international events and that just became such a wonderful thing to do. Getting to know people like you and then from one thing came another thing. People told me why are you not an MVP, you're doing so much for the community and then somebody nominated me and then yeah I became an MVP. And while this was happening, I was also looking into all of that quantum computing stuff which is also very fun to talk about from a developer's perspective because there's so many people talking about it from like a theoretical perspective. But now with the tools we have today from Microsoft and from other vendors we can really dive into that from the developer's perspective.
Rene – Gotcha. That makes a lot of sense and I just thought to making sure that everyone here is on the same page. Let me explain what an MVP is. I mean we might have talked about it in previous episodes but for the sake that everyone knows about it. So Microsoft MVP basically stands for Microsoft Most Valuable Professional which is a kind of a cheesy name but basically it it's an award that Microsoft gives to independent experts that share knowledge to put it in one sentence. Basically, right so Johnny does a lot of conference talks and you know projects and while he's written a book we're going to talk about this and if you a lot of other knowledge sharing for free in the end, right because we enjoy it. I do the same right because we're passionate about these topics. We just love to talk about it and share the knowledge and that gets all not basically with these awards and that's really nice. So yeah Johnny quantum MVP here, developer technologies in fact right? There's a subcategory for quantum and soon but these are technical specifics. By the way, you mentioned .Net right. The time we're recording this it's around 20years anniversary of dot net right. So, dot net is 20 years old folks. Yeah, that's very cool. I still remember starting with .net, well I’m old right so with not just net one but yeah 1.1 actually that's why I saw you started with 1.0.
Johnny – Yeah, I was actually very lucky because I was actually doing programming since I was a teenager so I was always trying to look for things to be creative but I’m a lazy person so I just want to sit behind a computer and do creative things behind the computer. And I by that around 2000, I was doing C++ development from visual studio 6 and I was doing my final test in school where you have to create like a project and I was doing that in C plus and yeah C++ was it was fun, because I could create windows applications. But it was difficult, it was very difficult, and I was looking at other technologies that would make my life easier but I wasn't a fan of visual basic. So, I was actually looking into Delphi because they had like the visual editor, and you can create windows very easily and create visual applications. But I was missing visual studio. So I was just looking into Delphi for a couple of months and then Microsoft released .net and for me the only trigger there was okay I can go back to visual studio and that's why I made the switch to .net. It looks a little bit like C plus plus if you look at the C# language and I can use visual studio again. So I made that decision when I was just in my late teenager years and I’m still very happy that I did that.
Rene - Absolutely and also like visual studio 6 also, very familiar with it. Like that's what I have been doing C++ all the time and then like you said dot net came along and we could use the same tooling and I think this is also one of the big benefit. Coming back to quantum and azure quantum and all of it you know the tooling is just so amazing right. The whole stack of the Microsoft tooling with the QDK, quantum development kit and so on is really amazing but let's first of all let's talk a little bit about your book because you wrote a book called, introducing Microsoft quantum computing for developers, right? Which is exactly the topic there. Go look at this folks and yeah so tell us a little bit what is in there and where can we get a copy? Is it available on all the big online retailers and uh what is in there what are you covering and what is the kind of approach you're taking there?
Johnny - Yeah so when I started with quantum computing or at least learning quantum computing I’m not using it professionally. I thought it was a very difficult subject and there's lots of stuff online, there's lots of YouTube movies where or it's going too deep or it's too high level or it's too pop sciency stuff. So today it's a lot better but four years ago when I started, it was very hard to get to get good information on that. So that's why I started to do talks on quantum computing again from the developer's perspective. I really wanted to tell the story from how I learned, what resources did I use and then I think about two years ago when I was on an American conference doing a talk on quantum computing, I got a call from Apris. Apris is the publisher for this book. They called me and they said yeah we are really looking for an author that can do a Microsoft specific book on quantum computing and I thought that's a very good idea. I really want to tell this story again from the developer's perspective. Learn how to use the tools but also have a bit of theory about quantum computing but not too much. Just enough to really understand what's going on and don't make the book too complex or too theoretical. So there's lots of examples in there. So yeah, that's the idea. The book is available from all major resellers like amazon for example. So you can basically get it on amazon in almost every country. I know in America it's in a lot of bookshops. In Belgium specifically, we have a couple of local bookshops that also have copies of this book. So it's wildly available. Basically, I divided it in in a couple of parts. So there's four parts in total, let me show you. The first part is pure theoretical. It's like what is quantum computing why would we do quantum computing? I basically use some stories from my own to explain exponentially large problems and how to solve them and how quantum computing can help us with that. Then I will talk a little bit about what is a QuBit and what is the quantum state stuff like. In the final chapters of the book, I actually also do a very small recap of some mathematics skills that you need. But again, it's basically high school level math that you need. Sometimes, it looks frightening, but it is actually not so frightening when I went to school. I was good at mathematics, but I didn't really understand why I would want to learn it but today when doing quantum computing, it actually makes more sense to me now. Oh, okay that's why I learned all of these things like trigonometry and linear algebra stuff like that. So, my book also explains like the basic stuff. Like basic trigonometry stuff that you can just recap for yourself. Okay, this was what it's all about because of course school is some time ago and then the second part of this book immediately dives into the Microsoft quantum development kit. So how to install it, how to prepare your machine, how to create your first quantum program. The book contains lots of source code. Then the next chapter or the next part has multiple chapters on already existing quantum algorithms. So we start by looking at why is the algorithm there, what does it do and how can we implement it in Q# sharp? The quantum language from Microsoft and how can we run that on our local machine and then the final chapters they talk a little bit about the preview from Azure quantum where you can create your quantum applications and instead of simulating them on your local machine or simulating them in the cloud you can run them on actual quantum hardware and how to do that. So it builds from the theory up until how to do it on your local machine up until how you can run your stuff in azure quantum and again it's just written from my perspective so not from like this big PhD scientist's perspective.
Rene - Yeah and I think this is especially the unique and very good part about it is that you approach it like another software developer would probably approach it right? And I love what you were saying about like I wanted to understand this topic really well, so I you know started to give talks about it and write a book about it because the best way to learn a topic is actually teach it because you really need to understand it in depth if you want to explain it simply for a broader audience. Exciting and pretty amazing, so everyone should get a copy of it. That is fantastic. So beside your book, what other resources would you recommend for developers that want to get started with quantum computing on the Microsoft stack like with Q# and the QDK?
Johnny - Well actually what Microsoft is doing today with their documentation and their Microsoft learn parts, I really like the fact that that there's so much content out there for you to learn for Microsoft quantum, specifically other vendors are doing basically the same thing. I didn't really start quantum with Microsoft. I actually started quantum with IBM Qum which was also very rich in documentation. It was very visual and today Microsoft is doing the same thing. The Q# language and the QDK is so close to net, so if you're already used to working with tools like visual studio or visual studio code or C#, .net, it’s going to be rather easy for you to get into this quantum space because you're using the same tools. The language looks a little bit similar, so you already know how to synthetically work with that. Then there's lots of documentation describing the complete syntax for Q# and containing lots of examples for you to just play around with and the fact that you can run your quantum algorithms on your local machine, and you can even debug them which doesn't really make sense because quantum shouldn't be debug-able but because we are simulating our applications we can really debug. We can put breakpoints and we can look at the quantum states and in reality, when you look at a quantum state it collapses, and you basically lose all of that information while debugging in those tools. It's just like a mathematical representation of that state and we can just look at it and learn from that and I learned so much by doing just that just putting some just creating a circuit and putting qubits through some gates and then looking at the quantum state. What is happening to try and grasp what is really the power of these of these quantum computations and also Microsoft has these learned paths where you can step by step look at tutorials, do some exercises and learn from the beginning up until the end. So, you don't need to start with one of the most complex algorithms out there. You start from the beginning, from very simple hello world kind of applications by putting a qubit in superposition and then just continue the path and go more complex step by step.
Rene - Very good Johnny, we could talk for many more hours but we're already at the end of the show. Thank you so much for joining us today and sharing your insights and your interesting journey. That very much appreciate it.
Johnny - Thank you. I’m very happy to talk about this. As you said I can go on for hours about these topics but yeah.
Rene - Let's continue that another time and thanks everyone for joining us for yet another episode of QuBites, your bite-sized pieces of quantum computing. Watch our blog and follow our social media channels to hear all about the next episodes and of course you can visit our website to watch all the episodes from previous seasons, so season one to five. For now, take care and see you soon, bye!