Quantum computing is the study of a currently hypothetical model of computation. This is the first line when you go through the definition of Quantum Computing on Wikipedia.
But to our surprise, or not, the big tech companies and many innovative startups with motivated individuals have already achieved some remarkable feats in Quantum Computing.
Companies like IBM, Microsoft and Google have already started working towards the practical implementations of Quantum computers.
Following article is basically my personal roadmap to work towards becoming an active contributor and hopefully a Quantum Computing Engineer in future. But it can be used by others with common goals and would save time.
My current level of knowledge :
1- Familiarity with C++ (Intermediate), C(Intermediate) and Front-End Web Technologies(HTML, CSS).
2- Knowledge of basic levels Data Structures such as Stack, Queues and Arrays and their implementations.
3- Knowledge of basic level ARM Assembly Language programming and MATLAB programming for the implementation of mathematical equations and methods.
4- Familiarity with basic concepts and definitions of Quantum Physics and Computing such as Schrödinger's equation, Qubits, Superposition, Entanglement etc. (most of these terms were defined and explained briefly in TED Talks and videos of various scientists and enthusiasts)
That's pretty much it when it comes to my knowledge in programming, technology and Quantum Computing. Besides the above points, I have university-level knowledge in Electronics, Mathematics and Physics.
What motivates me?
1- Future implementations of Quantum Computing and the extent to which it can improve the current classical computing and internet making it safer, faster and better.
2- Honestly, me being a fickle-minded person, whose interest is always into exciting stuff besides my normal university subjects, makes me a perfect person who can relate between and current classical computing, which is basically based on Electronics, and Quantum Computing. This combination is what is needed for the transition or at least introduction of Quantum to everyone in the world which I think should be our end goal.
3- The career opportunities arising in this exciting field. Currently, big tech companies such as IBM, Microsoft, Google and Intel are already working on Quantum Computing. And recently with Google claiming Quantum Supremacy, though its actual meaning still being a mystery to most of the people, with it developing a 72-qubit system, heads of Scientists, Engineers and Students are turning towards the technology.
There are various other aspects that I wonder about and are keeping me awake at night recently. To state one, I watched a TED Talk in which the speaker explained the way Quantum Computing can make the Encryption almost impossible to break (as the state of Qubits is changing all the times).
These are some of the main factors that actually excite and motivate me to learn and get deep into Quantum Computing.
What is my Current Goal?
A few days ago I read a post by IBM(Apply to become a quantum computing intern at IBM) and got to know that IBM is hiring interns for their Quantum Computing team to intern at their various labs in Summers of 2020.
My current goal is to bag this amazing opportunity.
I'll be working towards it for the next 3-4 months. Hopefully, I'll be able to make my resume ready to be considered by IBM.
So, the basic requirement by IBM, besides your university framework and motivation, is Qiskit Framework, which is the open-source framework, based on Python, developed by IBM to work on its IBM Q.
The Goals I wanna achieve in next 3-4 months are the following :
1- At least 2 projects based on Qiskit (will be helpful to display my knowledge in it).
2- Python projects with a big codebase (will display my proficiency in Python and the ability to work in big and complex codebases)
3- PRs and contributions to Qiskit community and up to date personal blog 'The Quantum Realm' to teach and make others go through the steps towards leaning Quantum Computing in towards the path I am using based on my research and time spent in it.
So yeah, my current goal is to bag an internship in Quantum Computing development so that I can set my pace for working diligently towards bringing this technology to work for people around the world.
I may or may not be able to bag an internship but I'll continue to work towards my end-goal and be motivated for it.
Where am I starting?
There are some amazing free and paid courses available online to make you familiar with Quantum Computing and even to lead you towards becoming a person with a decent or remarkable knowledge of it.
Let me share these courses with you.
For starting with concepts and familiarizing with Quantum Computation and Mathematics, Physics and programming required for it:
1- The Quantum Internet and Quantum Computers: How Will They Change the World? by TUDelft. Introductory course. Could be studied for free but you need to pay for earning a certificate on edX.
2- The Hardware of a Quantum Computer by TUDelft, to make you familiar with the hardware and principles used to make it. Could be studied for free but you need to pay for earning a certificate on edX.
3- The Introduction to Quantum Computing by Saint Petersburg State University. Introductory course. Could be audited for free.
4- Architecture, Algorithms, and Protocols of a Quantum Computer and Quantum Internet by TUDelft. Intermediate level course to make you familiar with basic Algorithms and principles of Quantum Internet. Could be studied for free of cost.
Now, as I am planning for working and developing with Qiskit, the following courses will be required by me:
1- Python for Data Science by cognitiveclass.ai as it is a brief and informative course for development with Python starting from its basics.
2- The Complete Python 3 Course: Beginner to Advanced! on Udemy. I bought this course because of it being a beginner-friendly course and teaches with a hands-on approach by building projects.
Next, the choice is yours if you want to start developing for IBM Q with Qiskit or dive deeper into Quantum Computing. When it comes to me, it would be sharing my time between both (more towards Qiskit though).
All the learning content and material required to get along with Qiskit is available online for free of cost as Qiskit is an open-source project. To get started with Qiskit:
1- Qiskit Official Website. Go through it and you'll get to know almost everything you require to get started with Qiskit
2- Coding with Qiskit Video Tutorials by Abraham Asfaw. Amazing and beginner-friendly video tutorials.
3- Qiskit Textbook. The only study material you'll ever require to brush up your concepts and start working on Qiskit.
On the other, if you want to dig deeper into Quantum Computing, online series of courses are provided by MIT on edX and MIT OCW website.
Link for the first course in series is Quantum Information Science I, Part 1.
Anyone who wants to work towards becoming an asset to Quantum Computing can follow this guide and be connected with me through my personal blog 'The Quantum Realm', where I'll be posting my progress, tutorials and guides on a regular basis as I lead my own way towards my goals.
Any recommendations and advice are most welcome, my email is firstname.lastname@example.org
Another person who is being a great help to me in my journey from the very beginning is Eniola Sobimpe.
Happy Quantum Computing.