Il y a quelques jours, la start-up montpelliéraine CodinGame publiait son rapport annuel sur le métier de développeur. Basée sur les réponses de plus de 20 000 passionnés du code en provenance de 120 pays, cette étude dresse le portrait de ces professionnels d’un milieu encore peu connu des Français. Trois questions à Aude Barral, sa co-fondatrice.
Vous aimerez aussi
On entend beaucoup parler des développeurs, mais au fond c’est quoi être développeur ?
Un développeur est un professionnel de l’informatique qui conçoit et développe des logiciels / applications en programmant avec du code. Le code utilisé en programmation logicielle peut être considéré comme un langage compréhensible par un ordinateur. Chaque ligne de code est une instruction qui est interprétée par l’ordinateur. Lui permettant ainsi d’exécuter la tâche qu’on lui commande de faire. Le développeur maîtrise différents langages de programmation en fonction du type de logiciel développé. Être développeur, finalement, c’est savoir dialoguer avec une machine.
Machine learning, intelligence artificielle : quelles sont les nouvelles compétences recherchées ?
Le Machine Learning (ML) est une branche de l’intelligence artificielle dans laquelle une classe d’algorithmes pilotés par les données permet aux applications logicielles de devenir « intelligentes ». En s’appuyant sur l’analyse statistique, les programmes développent des modèles prédictifs, pour anticiper et apprendre des comportements de manière autonome. Les développeurs maîtrisant le ML sont de plus en plus demandés. Pour ces missions, le titre de « Data Scientist » est aussi utilisé*.
La France est 6ème de votre classement où il fait bon de travailler : comment expliquer ce classement ?
Pour réaliser ce classement des pays « où il fait bon de travailler en tant que développeur », nous avons croisé la question « Sur une échelle de 1 à 10, combien aimez-vous votre job ? » avec le pays du répondant. L’Angleterre arrive en tête, suivi du Canada et des Etats-Unis. Sans surprise, ces trois pays proposent des conditions de travail souvent très avantageuses pour les développeurs, notamment au niveau des rémunérations proposées. La France a un peu pris le train en marche concernant l’extrême tension du marché du recrutement tech, et les développeurs ne sont pas encore chez nous considérés comme des « rock stars », indispensables au développement économique de toutes les entreprises qui innovent, qu’elles fassent partie de l’écosystème digital ou non.
Les quelques compétences du Data Scientist type :
Langages de programmation :
Le Data Scientist est un développeur de formation, qui connait les méthodes pour créer des modèles de ML. Il a souvent un profil également scientifique/mathématicien et développe majoritairement en Python/R. S’il vient du développement et a appris la Data Science sur le tas, il va développer plutôt en Scala. Les librairies qu’il doit connaitre, au-delà de Python/R, sont Numpy, SciKit, TensorFlow, PyTorch, Panda, FastAI et l’outil Jupyter. Il doit bien sûr connaitre toute la théorie du Machine Learning (Deep Learning, Neural Network, Image classification, NLP=Natural Language Processing, Tabular Data modeling, etc.).
Organisation et tri de données :
La première étape du développement en ML est le prétraitement et le stockage des données brutes générées par les systèmes, notamment à travers la création de pipelines d’extraction, de transformation et de chargement qui traitent, nettoient et stockent les données afin qu’elles soient facilement accessibles pour d’autres processus, tels que les analyses et les prévisions. Pour le stockage des données, un développeur doit pouvoir utiliser AWS S3 ou un data warehouse comme AWS Redshift.
Analyse de données :
Pouvoir effectuer une analyse exploratoire des données sur un ensemble de données est une compétence particulièrement importante en IA/ML car elle permet de découvrir des modèles intéressants dans les données, d’identifier certaines anomalies et de tester des hypothèses. Un Data Scientist devrait être capable de sortir des statistiques sur des jeux de données, créer des représentations graphiques pour visualiser facilement les données (histogrammes), assainir et préparer les données pour la modélisation (exemple : supprimer les valeurs aberrantes et variables corrélées).
Modèles :
Un Data Scientist doit maîtriser les algorithmes de ML, mais aussi et surtout savoir quand les appliquer. Il est également important de mentionner que pour effectuer des tâches plus complexes telles que la classification d’images, la détection d’objets, la reconnaissance des visages, la traduction automatique, la génération de dialogues, etc., les développeurs IA doivent utiliser des algorithmes plus complexes qui entrent dans la catégorie du Deep Learning, qui est basé sur les réseaux de neurones.
Pour retrouver l’intégralité du sondage, rendez-vous ici