Les compétences les plus recherchées du métier d'ingénieur informatique

Selon les statistiques de 2019 , l'ingénieur des données est actuellement un métier dont la demande croît plus vite que toutes les autres. L'ingénieur de données joue un rôle essentiel dans l'organisation - crée et gère des pipelines et des bases de données qui sont utilisés pour traiter, transformer et stocker des données. De quelles compétences les représentants de cette profession ont-ils d'abord besoin? La liste est-elle différente de ce qui est exigé des scientifiques des données? Vous apprendrez tout cela dans mon article.

J'ai analysé les postes vacants pour le poste d'ingénieur des données dans la forme dans laquelle ils étaient en janvier 2020, pour comprendre quelles compétences en technologie sont les plus populaires. Ensuite, j'ai comparé les résultats avec les statistiques sur les postes vacants au poste de data scientist, et quelques différences intéressantes ont été révélées.

Nous pouvons nous passer de longues introductions - voici les dix meilleures technologies qui sont le plus souvent mentionnées dans les textes de poste:



Mention de la technologie dans les emplois pour le poste d'ingénieur des données en 2020

Faisons les choses correctement.

Responsabilités de l'ingénieur des données


Aujourd'hui, le travail effectué par les ingénieurs de données est d'une grande importance pour les organisations - ce sont ces personnes qui sont chargées de stocker les informations et de les amener de telle sorte que d'autres employés puissent les utiliser. Les ingénieurs de données créent des pipelines pour rationaliser la réception de données, de flux ou de paquets, à partir de plusieurs sources. Ensuite, les pipelines effectuent des opérations d'extraction, de transformation et de chargement (en d'autres termes, des processus ETL), ce qui rend les données plus adaptées à une utilisation ultérieure. Après cela, les données sont transférées aux analystes et aux scientifiques des données pour un traitement plus approfondi. Enfin, les données terminent leur parcours sur des tableaux de bord, des rapports et des modèles d'apprentissage automatique.

Je cherchais des informations qui nous permettraient de conclure quelles technologies sont les plus demandées dans le travail d'ingénieur de données en ce moment.

Les méthodes


J'ai collecté des informations à partir de trois sites de recherche d'emploi - SimplyHired , Indeed et Monster, et j'ai examiné les mots clés proposés par l'ingénieur des données dans les textes de travail pour les résidents américains. Pour cette tâche, j'ai utilisé deux bibliothèques Python - Requests et Beautiful Soup . Parmi les mots clés, j'ai inclus à la fois ceux qui figuraient sur la liste précédente pour l'analyse des postes vacants pour le poste de data scientist, et ceux que j'ai sélectionnés manuellement lors de la lecture des offres d'emploi pour les ingénieurs de données. LinkedIn n'a pas été inclus dans la liste des sources, car j'ai été interdit là-bas après ma dernière tentative de collecte de données.

Pour chaque mot clé, j'ai calculé le pourcentage de visites à partir du nombre total de textes sur chacun des sites séparément, puis j'ai calculé la valeur moyenne à partir de trois sources.

RĂ©sultats


Vous trouverez ci-dessous trente termes techniques issus de l'ingénierie des données avec les scores les plus élevés sur les trois sites d'emploi.



Et voici les mêmes chiffres, mais conçus sous forme de tableau:



Allons dans l'ordre.

Aperçu des résultats

SQL et Python apparaissent dans plus des deux tiers des postes vacants examinés. Ce sont ces deux technologies qui ont du sens à étudier en premier. Python est un langage de programmation très populaire utilisé pour travailler avec des données, créer des sites Web et écrire des scripts. SQL signifie Structured Query Language; il suppose une norme implémentée par un groupe de langues et est utilisé pour extraire des données de bases de données relationnelles. Il est apparu il y a longtemps et s'est imposé comme très stable.

À propos de Spark, environ la moitié des postes vacants. Apache Spark est «un moteur d'analyse de Big Data combiné avec des modules intégrés pour le streaming, SQL, l'apprentissage automatique et le traitement graphique». Il est particulièrement populaire auprès de ceux qui travaillent avec de grandes bases de données.

AWS apparaît dans environ 45% des offres d'emploi. Il s'agit de la plateforme de cloud computing d'Amazon; Il détient la plus grande part de marché parmi toutes les plateformes cloud.
Viennent ensuite Java et Hadoop - un peu plus de 40% pour le frère. Java est un langage répandu et testé au combat qui, dans l'enquête Stack Overflow Developer Survey 2019, a remporté la dixième place parmi les langages qui horrifient les programmeurs. En revanche, Python s'est avéré être le deuxième langage le plus aimé. Java exécute le langage Java, et tout ce que vous devez savoir à ce sujet peut être compris à partir de cette capture d'écran de la page officielle de janvier 2020.



Comme une machine Ă  remonter le temps
Apache Hadoop utilise le modèle de programmation MapReduce avec des clusters de serveurs pour le Big Data. Aujourd'hui, ce modèle est de plus en plus abandonné.

Ensuite, nous voyons Hive, Scala, Kafka et NoSQL - chacune de ces technologies est mentionnée dans un quart des postes vacants présentés. Apache Hive est un programme d'entreposage de données qui "simplifie la lecture, l'écriture et la gestion de grands ensembles de données situés dans des stockages distribués à l'aide de SQL". Scala est un langage de programmation qui est activement utilisé lorsque vous travaillez avec des mégadonnées. En particulier, Spark a été créé sur Scala. Dans le classement déjà mentionné des langues redoutables, Scala est en onzième ligne. Apache Kafka est une plate-forme distribuée pour le traitement des messages en streaming. Très populaire comme moyen de streaming de données.

Les bases de données NoSQL s'opposent à SQL. Ils diffèrent en ce qu'ils ne sont pas relationnels, non structurés et ont une évolutivité horizontale. NoSQL a gagné en popularité, mais l'engouement fiévreux pour cette approche, jusqu'aux prophéties selon lesquelles elle remplacera SQL en tant que paradigme de stockage dominant, semble être terminé.

Comparaison avec les termes des postes vacants de data scientist


Voici les trente termes technologiques les plus couramment utilisés par les employeurs dans le domaine de la science des données. J'ai obtenu cette liste de la même manière que je l'ai décrite ci-dessus pour l'ingénierie des données.



Mentionner la technologie dans l'emploi pour le data scientist en 2020

Si nous parlons du nombre total, par rapport à l'ensemble précédemment examiné, il y avait 28% de postes vacants de plus (12 013 contre 9396). Voyons quelles technologies sont moins courantes dans les postes vacants pour les scientifiques des données que pour les ingénieurs des données.

Plus populaire en ingénierie des données

Le graphique ci-dessous montre les mots clés avec une différence moyenne de valeurs supérieure à 10% ou inférieure à -10%.



Les plus grandes différences dans la fréquence des mots clés entre ingénieur de données et scientifique des données

L'augmentation la plus importante est trouvée par AWS: en ingénierie des données, elle apparaît 25% plus régulièrement qu'en science des données (environ 45% et 20% du nombre total de postes vacants, respectivement). La différence est palpable!

Voici les mêmes données dans une représentation légèrement différente - sur le graphique, les résultats pour le même mot clé dans les postes vacants pour les postes d'ingénieur de données et de scientifique des données sont situés côte à côte.



Les plus grandes différences dans la fréquence des mots clés entre ingénieur de données et scientifique des données

Le plus grand bond en avant que j'ai remarqué chez Spark - un ingénieur de données doit souvent travailler avec le Big Data. Kafka a également progressé de 20%, soit près de quatre fois par rapport à l'offre d'emploi de data scientist. Le transfert de données est l'une des principales responsabilités d'un ingénieur de données. Enfin, le nombre de références s'est avéré être 15% supérieur dans le domaine de l'ingénierie des données pour Java, NoSQL, Redshift, SQL et Hadoop.

Moins populaire en ingénierie des données

Voyons maintenant quelles technologies sont moins populaires dans les postes vacants pour l'ingénieur de données.
La baisse la plus prononcée par rapport au domaine de la science des données s'est produite chez R : là, elle est apparue dans environ 56% des postes vacants, ici - seulement dans 17%. Impressionnant. R est un langage de programmation populaire auprès des scientifiques et des statisticiens, ainsi que le gagnant de la huitième place dans le classement des langages terrifiants.

SAS se produit également dans des postes vacants pour le poste d'ingénieur de données beaucoup moins - la différence est de 14%. SAS est un langage propriétaire conçu pour fonctionner avec des statistiques et des données. Un point intéressant: à en juger par les résultats de mes recherches sur les postes vacants pour les scientifiques des données , il a récemment perdu beaucoup de postes - plus que toute autre technologie.

Exigé à la fois en ingénierie des données et en science des données

Il convient de noter que huit des dix premières positions des deux séries sont identiques. SQL, Python, Spark, AWS, Java, Hadoop, Hive et Scala figurent parmi les dix premiers pour l'industrie de l'ingénierie des données et la science des données. Dans le graphique ci-dessous, vous pouvez voir les quinze technologies les plus populaires par les employeurs des ingénieurs de données, et à côté d'eux se trouve leur taux de vacance pour les scientifiques des données.



Recommandations


Si vous souhaitez vous engager dans l'ingénierie des données, je vous conseille de maîtriser les technologies suivantes - je les énumère par ordre de priorité approximative.

Apprenez SQL. Je vous persuade spécifiquement de PostgreSQL, car il a du code open source, est très populaire dans la communauté et est en phase de croissance. Vous pouvez apprendre à utiliser le langage du livre My Memorable SQL - sa version pilote est disponible ici .

Apprenez Python, mais pas au niveau le plus hardcore. My Memorable Python est pour les débutants. Vous pouvez l'acheter sur Amazon , une copie électronique ou physique de votre choix, ou la télécharger en pdf ou epub sur ce site .

Une fois familiarisé avec Python, passez à pandas, la bibliothèque Python utilisée pour nettoyer et traiter les données. Si vous vous concentrez sur le travail dans une entreprise qui nécessite la capacité d'écrire en Python (et la plupart d'entre eux le sont), vous pouvez être sûr que la connaissance des pandas sera supposée par défaut. Je termine maintenant le guide d'introduction pour travailler avec les pandas - vous pouvez vous abonner pour ne pas manquer le moment de la sortie.

Master AWS. Si vous souhaitez devenir ingénieur de données, vous ne pouvez pas vous passer d'une plate-forme cloud dans la zashnik, et AWS est le plus populaire d'entre eux. Les cours Linux Academy m'ont beaucoup aidé lorsque j'ai étudié l'ingénierie des données sur Google Cloud , je pense qu'ils auront également de bons supports sur AWS.

Si vous maîtrisez déjà l'intégralité de cette liste et que vous souhaitez vous développer aux yeux des employeurs en tant qu'ingénieur des données, je vous suggère d'ajouter Apache Spark pour travailler avec le Big Data. Bien que mes recherches sur les postes vacants en science des données aient montré un déclin de l'intérêt, elles clignotent toujours pour les ingénieurs de données dans presque tous les deux emplois.

En fin de compte


J'espère que cette revue des technologies les plus populaires pour l'ingénieur de données vous a semblé utile. Si vous êtes curieux de savoir comment fonctionnent les analystes, lisez mon autre article . Ingénierie réussie!

Source: https://habr.com/ru/post/fr484120/


All Articles