Développeur informatique d'applications quantiques
-
Mission(s) visée(s) par la qualification
Le développeur informatique d’applications quantiques conduit des projets de développement informatique d’applications utilisant la technologie quantique. L’informatique quantique change les usages numériques en démultipliant la puissance de calcul des ordinateurs, et garantit de nouvelles capacités de calcul qui permettent le traitement statistique d'énormes quantités de données, en augmentant la rapidité de leur analyse.
Ces modèles de calcul se démarquent des manières dites classiques de développer des applications.
Un ordinateur quantique ne fonctionne pas de la même manière qu’un ordinateur classique : les informations sont en effet codées différemment.
Binaires sur des microprocesseurs en informatique classique, elles sont physiquement codées par l’état d’une ou plusieurs particules élémentaires en informatique quantique (les opérations ne sont plus basées sur la manipulation de bits dans un état 1 ou 0, mais de qubits en superposition d'états 1 et/ou 0.). Les propriétés des ordinateurs quantiques visent à dépasser les contraintes physiques des processeurs traditionnels en apportant une puissance de calcul bien plus importante et nécessite le développement d’algorithmes adaptés.
Le développeur d’applications quantiques, en fonction des différents contextes ou organisations des entreprises, gère des projets informatiques, conçoit, développe et met à jour des applications quantiques.
Il assure une mission de promotion des solutions quantiques afin de sensibiliser les populations techniques et métiers sur les avancées technologiques et leur valeurs ajoutées à l’instar du développement informatique dit classique.
Quel que soit la typologie du projet de développement (projets courts, moyens ou longs termes) celui-ci va toujours respecter certaines phases : analyse des besoins et faisabilité, rédaction des spécifications détaillées, conception architecturale, conception détaillée, développement, tests unitaires, tests d’intégration et tests de validation.
Le développeur d’applications quantiques n’est pas nécessairement informaticien codeur à la base, toutefois il exerce ces missions et activités à partir d’une forte appétence pour l’informatique.
Activités
En fonction des différents contextes et/ou organisations des entreprises, les missions ou activités du titulaire portent sur :
La gestion d’applications quantiques
Cette activité consiste à gérer le projet quantique, notamment de dialoguer avec le client afin de comprendre au mieux ses besoins et de définir la faisabilité du projet, puis de rédiger ensuite les spécifications détaillées de la future application quantique. L’équipe projet constituée, les différentes étapes de réalisation de l’application quantique sont planifiées afin de parvenir à réaliser celle-ci dans les temps et les délais impartis. Cette activité a pour finalité de s’assurer de la bonne compréhension des besoins du client et la valider avec ce dernier, de constituer l’équipe idoine à même de réaliser l’application quantique en temps et en coût et enfin de planifier le déroulement du projet afin de ne pas dépasser le coût imparti, ni les délais imposés.
La réalisation d’applications quantiques
Il s’agit là, en fonction des spécifications attendues par le client et des différentes applications tierces avec lesquelles l’application quantique interopérera, de modéliser cette application quantique en matière d’Interface Homme Machine (IHM), de dialogue entre les applications, de données entrantes (saisies, importées ou par flux continus) et de données résultantes. Une fois cette étape de modélisation de l’application quantique faite, cette dernière est développée conformément à la modélisation préconisée tout en conservant les différentes versions applicatives, puis les différents tests (unitaires, d’intégration, de validation) de l’application quantique sont réalisés afin de pouvoir la présenter en recette client. Cette activité a pour finalité de réaliser le design de l’application (modélisation, définition des entrées/sorties, interopérabilité avec les applications tierces), de coder (c’est-à-dire développer) l’application quantique conformément à la modélisation préconisée, de conserver les différentes versions de l’application quantique, de tester l’application quantique afin de vérifier qu’elle répond bien à l’ensemble des spécifications attendues et donc être à même de la recetter avec le client.
La promotion des solutions quantiques
L’informatique quantique étant une discipline émergente, aux concepts assez difficile à appréhender (mais aux impacts à venir sur tous les personnels des entreprises), cette activité consiste à rappeler les quelques notions de base indispensables de la mécanique quantique, d’expliquer de manière simple et pédagogique les grands principes de l’informatique quantique (superposition des états, intrication, etc...) et d’expliquer dans quels domaines principaux l’informatique quantique apporte une plus-value par rapport à l’informatique traditionnelle (métrologie, Intelligence Artificielle (IA), Big Data, cryptologie, etc...). De plus, la promotion des solutions quantiques se justifie lorsque, dans un contexte particulier, il s’agit de vérifier si une solution quantique serait plus pertinente qu’une solution traditionnelle, et d’argumenter sur les raisons de la mise en place d’une solution quantique plutôt que d’une solution traditionnelle. Cette activité a pour finalité d’initier au plus grand nombre, les grands principes de l’informatique quantique, de faire comprendre les domaines d’utilisation de l’informatique quantique, de faire adhérer les utilisateurs à l’informatique quantique, de conseiller le client (interne ou externe) sur l’utilisation d’une solution quantique plutôt qu’une solution traditionnelle si celle-ci se justifie.
Compétences
- Identifier et traduire les besoins du client
- Structurer et planifier tout ou partie des activités liées à un projet de développement quantique
- Conduire un projet de développement quantique
- Concevoir le design de l’application
- Développer l’application
- Tester et valider l’application
- Présenter l’informatique quantique
- Promouvoir les solutions quantiques
Les métiers liés
En collaboration avec l'ingénieur systèmes et l'architecte logiciel, l'Ingénieur développement logiciel est responsable de la conception, du développement, de l'intégration, de la maintenance et des évolutions d'un logiciel.