Quantum Machine Learning: from physics to software engineering