• 6 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 19/10/2020

Découvrez les autres spécialités de développeurs

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Le métier de développeur ne s’arrête pas aux métiers du Web. En effet, il englobe l’ensemble des techniques permettant de créer des programmes, des sites web, des applications, des jeux vidéo, mais aussi de sécuriser toutes ces plateformes, de programmer vos appareils électroménagers ou de rendre un programme intelligent grâce à l’intelligence artificielle

Je vous propose ci-dessous une vue d’ensemble de tous les autres métiers de développeurs.

Les développeurs de jeux vidéo

Les développeurs de jeux vidéo créent les jeux vidéo auxquels vous avez tous joué au moins une fois, comme ceux sur console de jeu, ordinateur ou téléphone portable. Développer des jeux vidéo demande plusieurs spécialités, et donc à nouveau plusieurs types de développeurs. Certains devront avoir de solides bases en mathématiques et même en physique, afin de recréer des lois physiques dans le monde virtuel ; d'autres en intelligence artificielle, d'autres encore en graphisme, etc.

Fiche métier

Les développeurs de jeux vidéo peuvent travailler par eux-mêmes ou dans de petites équipes, en construisant un jeu et en le commercialisant par leurs propres soins. Ils peuvent aussi trouver un travail chez les grands éditeurs de jeu, comme Ubisoft, par exemple.

Il existe de nombreuses manières de produire un jeu vidéo et donc de nombreux métiers qui y participent ; voici quelques exemples :

  • les jeux Indie : un petit groupe de personnes qui travaillent ensemble pour concevoir un jeu de façon indépendante, comme Minecraft, Rocket League ou Dofus l’ont été ;

  • les jeux Triple-A : édités par de grands studios de jeux comme Rockstar Games ou Ubisoft, ils regroupent d'immenses équipes de développeurs et designers, et de nombreuses spécialisations ;

  • les jeux “First Party” : ce sont des jeux créés par un concepteur de console pour sa propre console, comme Nintendo crée des jeux pour la Wii, par exemple.

Compétences techniques

Vous pouvez créer des jeux basiques avec du JavaScript et à peu près tous les langages qui existent. Cependant, il existe des langages faits pour le développement de jeux vidéo, comme le Unity qui est un des plus utilisés. Vous pouvez également réaliser des jeux vidéo avec du C# et du C++.

Les développeurs en intelligence artificielle et machine learning

L’intelligence artificielle (IA) et le machine learning (ML) sont des notions informatiques plus poussées.

IA fait référence à deux mots : “intelligence” et “artificielle” :

  • intelligence peut se résumer à la capacité à comprendre ou penser ;

  • artificielle représente quelque chose créé par l’humain, mais qui n’est pas réel ;

L’intelligence artificielle, c’est entraîner la machine à comprendre et à penser, mais à penser mieux que l’humain. Disons que le but est de rassembler toutes les capacités d’un ordinateur et celles d’un humain. L’intelligence artificielle ne pourra jamais dépasser l’humain, mais peut grandement le compléter en étant bien plus efficace en termes de puissance de calcul, par exemple.

Le machine learning (ML), c’est permettre à la machine d’apprendre sans que tous les cas soient programmés. Le ML découle de l’application d’intelligence artificielle permettant à un logiciel d’apprendre grâce aux données qu’il stocke.

Fiche métier

IA : un développeur en intelligence artificielle travaille sur des logiciels pouvant être utilisés pour créer des robots ou des systèmes complexes. Il peut être en relation directe avec des ingénieurs hardware, des ingénieurs en robotique ou tout autre type d’ingénieur, pour créer un système utilisant de l’IA.

ML : un développeur en machine learning se rapproche beaucoup d’un expert IA ; il est spécialisé dans l’utilisation des données. Il réalise, grâce à tous les programmes d’analyse de données qu’il met en place, des applications de reconnaissance faciale ou de parole, des robots d’échange dits “chatbots” ou des outils d’analyse de marchés financiers, par exemple.

Compétences techniques

Les développeurs en intelligence artificielle ou en machine learning doivent tous deux avoir de solides compétences en Python (langage phare pour l’analyse et le traitement de données) et en langage R (un langage créé pour effectuer des statistiques et des graphiques).

Les développeurs en cybersécurité

Les professionnels de la cybersécurité protègent les infrastructures numériques et les données en ligne des entreprises.
Plus une entreprise stocke de données, plus il est important de les sécuriser. La responsabilité des développeurs en cybersécurité augmente donc en fonction du nombre d’informations personnelles stockées.

Vous vous souvenez peut-être de l’attaque qui a eu lieu envers PlayStation et Xbox, et qui a permis aux malfaiteurs de récupérer plus de 4 millions d’informations personnelles ?

En effet, sur Internet il n’existe pas que des “gentils” ! Certaines personnes attaquent continuellement les plus grandes entreprises pour leur soutirer des informations. Pourquoi ? Parfois ils ont un objectif bien précis, d’autres fois ils peuvent simplement revendre ces données. Car vos données ont de la valeur ! 😱

Les grandes entreprises comme les banques, par exemple, font extrêmement attention à cela ! On ne rigole pas avec la sécurité. Imaginez si toutes vos données bancaires se retrouvaient en libre accès sur Internet ?
Un ami travaillait dans une banque en tant que consultant en sécurité. Il a utilisé son ordinateur personnel une seule fois et s’est fait renvoyer sans discuter.

Chaque jour, des cyberattaques sont effectuées et leur fréquence ne fait qu’augmenter. Les banques, grands groupes et organismes gouvernementaux offrent de nombreux rôles. Vous pouvez être amené à installer des pare-feu, créer des plans de sécurité, protéger des fichiers, protéger un réseau ou surveiller toutes les activités sur un logiciel pour intercepter une activité malveillante.

Voyons plus en détail toutes les carrières possibles en cybersécurité :

  • développeur cryptographe : ce type de développeur crypte des informations sensibles dans le but de les rendre indéchiffrables par des personnes malveillantes. Auparavant, le chiffrement était utilisé seulement par le corps militaire. Désormais, il est indispensable dans le monde du web pour protéger toutes les informations qui y transitent ;

  • analyste en sécurité : il vérifie que les programmes ou logiciels installés dans l’entreprise sont conformes aux normes et aux règles de sécurité ;

  • ingénieur en sécurité : il construit les systèmes de sécurité des entreprises ;

  • consultant en sécurité : il conseille et peut aider à la mise en place des systèmes de sécurité ; 

  • testeur de pénétration, ou pentester: le pentester crée des petits programmes appelés scripts pour chercher des vulnérabilités dans un système numérique interne à l’entreprise. Il est donc embauché par l’entreprise pour repérer des failles dans son système.

Il en existe bien d’autres, mais voilà les principaux. Comme vous l’avez vu, le champ des possibles est vaste en tant qu’expert en cybersécurité. Les missions peuvent varier, mais le but restera toujours de protéger les données personnelles des utilisateurs ou clients d’une entreprise.

Compétences techniques

Chaque sous-métier lié à la cybersécurité dispose de spécialisations différentes. L’avantage, c’est qu’ils ont tous une base commune.

Il faut comprendre et maîtriser l’architecture et la gestion de chaque système d’exploitation comme les différentes distributions de Linux et Windows. De plus, il faut maîtriser la gestion de réseaux et d’échange de données entre les serveurs.

Concernant les langages de programmation, il faut comprendre les langages de script comme le PHP, le Python, le Perl et le Shell.

Étant le développeur le plus proche de la machine, il est indispensable de “parler le langage de l’ordinateur” ou les langages les plus proches de ce dernier. On parle de langages bas niveau comme l’assembleur, le C/C++ et le Java.

Les développeurs en réalité virtuelle et réalité augmentée

Nous avons décidé de réunir réalité virtuelle et réalité augmentée, car les compétences nécessaires pour y accéder sont très similaires. Étant toutes deux des industries en pleine émergence, les barrières à l’entrée sont encore assez faibles.

Mais qu’est-ce que c’est, concrètement ?

La réalité virtuelle, ou VR, a pour but de transporter l’humain dans des milieux réels et imaginaires. Vous devez sûrement avoir entendu parler des fameux casques VR. Ce sont les développeurs VR qui se cachent derrière.

La réalité augmentée, ou AR, a pour but d’ajouter des éléments numériques à une vue réelle, le plus souvent en utilisant la caméra de votre smartphone. Vous souvenez-vous des pokémons qui apparaissaient dans vos parcs via l’application Pokémon Go ? De l’AR. Utilisez-vous les filtres Snapchat ou Instagram ? De l’AR.

Fiche métier

Les développeurs VR et AR construisent des outils de visualisation et de simulation. Ils peuvent travailler sur différents projets comme des démonstrations interactives de produits, des prototypes avancés de mécanismes ou des jeux vidéo, par exemple.

Le développement VR/AR n’est pas très différent du développement de jeu vidéo, car ils consistent à créer des environnements immersifs avec lesquels nous pouvons interagir comme dans la vie réelle, en 3 dimensions. 

Compétences techniques

Les développeurs AR/VR doivent avoir des bases en création de jeu vidéo, avec des principes comme la modélisation et la numérisation 3D, les moteurs de jeu 3D, des mathématiques, de la géométrie puis des langages de programmation comme C/C++ et C#, ainsi que le langage Unity.

Pour vous spécialiser, il vous faudra apprendre les principes de la photo et de la vidéo à 360 degrés, ainsi que la conception d’expériences pour les utilisateurs en 3D.

Évidemment, il faudra que vous soyez à l’aise avec tous les outils comme les masques VR, ou les fonctionnalités des smartphones à utiliser pour mener à bien votre projet.

Les DevOps

DevOps est un terme anglais désignant un ensemble de pratiques combinant le développement pour la partie Dev et l’administration d’infrastructures informatiques pour la partie Ops, en particulier l’administration système.

Il est présent dans l’entreprise pour automatiser les processus des équipes de développement. Il permet aux développeurs d’un projet de construire, tester et mettre en ligne des logiciels, applications ou sites web plus rapidement et d’une manière plus fiable.

Le DevOps est au cœur des méthodes agiles que nous avons vues dans la première partie. En apportant le côté automatisation, il fait le pont entre les développeurs et la mise en ligne sur le marché du produit final. Ce qui permet d’entrer plus facilement dans le principe d’intégration continue lié à l’agilité.

En quelques mots, c’est le maître de l’architecture d’un projet. Il permet de coordonner l'ensemble des développeurs, en leur fournissant le meilleur environnement de travail possible.

Fiche métier

Le DevOps est celui qui automatise tout ou presque ! Il facilite la collaboration de toutes les parties prenantes d’un projet, de la planification jusqu’à la livraison du produit fini.

Il est responsable de :

  • améliorer la fréquence de déploiement : rendre l’intégration des nouvelles fonctionnalités d’un projet rapide, simple, intuitive et surtout automatisée ;

  • intégrer les tests automatiques au fur et à mesure et de manière automatisée encore une fois : généralement, le DevOps intègre les tests dans la phase de déploiement. Si les tests ne passent pas, le déploiement ne sera pas effectué. Cela garantit donc plus de sécurité, et une version officielle qui fonctionne toujours ;

  • mettre en place des outils de mesure et de suivi de toute l’infrastructure logicielle. En effet, nous ne pouvons parler “d’amélioration” que si des données concrètes mesurent l’état initial et l’état final d’une solution, ainsi que les évolutions entre les deux états. 

Au final, le DevOps permet à l’entreprise d’être plus performante, d’avoir des délais de maintenance bien plus courts et d’avoir bien moins de défaillances techniques.

Compétences techniques

Il ne réalise que très peu de code. Son travail réside dans la création de scripts d’automatisation. Il doit donc être à l’aise avec les langages de scripting comme PHP, Python, Perl et Shell.

Il doit connaître chaque système d’exploitation, comme les différentes distributions de Linux et Windows, pour faire en sorte que l’application s’exécute sur chacun de ces OS (qui disposent de paramètres personnalisés pouvant différer).

Pour ce faire et pour faciliter la création, l’architecture et le déploiement de l’application, le DevOps range chaque partie dans des conteneurs grâce à un outil nommé Docker

Les développeurs de systèmes embarqués

Les développeurs de systèmes embarqués créent des programmes qui permettent de faire fonctionner des appareils industriels.

Ils se concentrent sur leurs connaissances en électronique et hardware pour mettre en œuvre des circuits et écrire le code associé.

C’est encore une fois un métier assez vaste qui peut intervenir dans plusieurs domaines :

  • l’électroménager ;

  • les équipements médicaux ;

  • les composants informatiques ;

  • le transport : automobile, ferroviaire... ;

  • l’impression ;

  • la téléphonie ;

  • l'astronautique ;

  • les banques avec les distributeurs ;

  • le militaire ;

  • le multimédia avec les consoles de jeu, par exemple.

Évidemment, il y en a d’autres, mais vous l’avez compris : Il intervient sur tous les éléments physiques qui contiennent de l’électronique.

Voyons en quoi consiste son métier...

Fiche métier

Les développeurs de systèmes embarqués travaillent en relation étroite avec les ingénieurs en matériel et les unités de fabrication.

Sur le plan industriel, leur travail commence par la conceptualisation de la solution jusqu’aux tests du produit final. Entre ces deux étapes, il participe à la conception du matériel, l’écriture du code et l’assemblage du matériel, par exemple.

Comme il s'agit d'un métier disposant de nombreux sous-domaines et centres d’intérêts, il est difficile d’en donner une description particulière. Les missions pourront donc varier en fonction du domaine dans lequel le développeur de systèmes embarqués travaille.

Compétences techniques

Le socle de compétences commun à tous les développeurs de systèmes embarqués est le suivant :

  • avoir de solides bases en électronique ;

  • maîtriser les langages C et C++ ;

  • savoir programmer des microcontrôleurs et des processeurs ;

  • connaître le développement des interfaces et des pilotes des périphériques ;

  • utiliser Linux, savoir le paramétrer et travailler avec ;

  • mettre en place des composants permettant de déboguer (trouver l’erreur et la résoudre).

Il faut enfin maîtriser l’environnement dans lequel vous choisissez de vous diriger. Si c’est la téléphonie pour contribuer au développement du nouveau routeur Wi-Fi de l’année, vous devrez maîtriser les réseaux et les télécoms sur le bout des doigts !

En résumé

  • Le métier de développeur ne se limite pas aux métiers du Web. Il existe en effet bien d’autres disciplines, comme le développement de jeux vidéo, la cybersécurité et l’intelligence artificielle, par exemple.

  • Les développeurs de jeux vidéo créent les jeux auxquels vous jouez sur téléphone, ordinateur ou console de jeu.

  • Les développeurs en intelligence artificielle créent des programmes intelligents ayant pour but de combiner la pensée humaine et la puissance de calcul d’un ordinateur.

  • Les développeurs en machine learning utilisent l’intelligence artificielle pour permettre à un programme d’apprendre par lui-même, grâce à la donnée qu’il accumule.

  • Les développeurs en cybersécurité protègent les infrastructures numériques et les données en ligne des entreprises contre les attaques malveillantes.

  • Les développeurs en réalité virtuelle transportent l’humain dans des milieux réels et imaginaires, via un casque VR, par exemple.

  • Les développeurs en réalité augmentée ajoutent des éléments numériques à une vue réelle, comme dans Pokemon Go, par exemple.

  • Les DevOps contrôlent l’architecture d’un projet de développement et coordonnent chaque développeur grâce à l’automatisation des processus.

  • Les développeurs de systèmes embarqués créent des programmes qui permettent de faire fonctionner des appareils industriels, comme votre machine à laver, par exemple.

Ça y est, nous arrivons à la fin de cette deuxième partie. Vous pouvez passer le quiz de validation de vos acquis afin de vérifier que vous savez correctement différencier les métiers de développeurs.

Dans la dernière partie, nous verrons ensemble comment vous pouvez vous former pour devenir développeur, ainsi que comment évoluer dans votre carrière. À tout de suite !

Exemple de certificat de réussite
Exemple de certificat de réussite