En termes de connaissances, les experts en science des données attendent beaucoup: apprentissage automatique, programmation, statistiques, mathématiques, visualisation de données, communication et apprentissage en profondeur. Chacun de ces domaines couvre des dizaines de langues, cadres, technologies disponibles pour l'étude. Alors, comment est-il préférable pour les professionnels des données de gérer leur budget de temps de formation afin qu'ils puissent être évalués par les employeurs?
J'ai étudié attentivement les sites d'emploi pour savoir quelles compétences sont les plus populaires auprès des employeurs en ce moment. J'ai considéré à la fois les disciplines plus larges associées au travail avec les données, ainsi que les langages et outils spécifiques, dans le cadre d'une étude distincte. Pour le matériel, je me suis tourné vers
LinkedIn ,
Indeed ,
SimplyHired ,
Monster et
AngelList , à partir du 10 octobre 2018. Le graphique ci-dessous montre le nombre d'emplois en science des données représentés sur chacune de ces ressources.
J'ai étudié de nombreuses descriptions de travail et enquêtes pour comprendre quelles compétences sont le plus souvent mentionnées. Des termes comme «gestion» n'ont pas été inclus dans l'analyse, car ils sont utilisés sur les chantiers dans un très large éventail de contextes divers.
La recherche a été effectuée aux États-Unis sur la base des termes «science des données», «mot-clé». Afin de réduire la sortie, j'ai sélectionné uniquement les occurrences exactes. D'une manière ou d'une autre, une méthode similaire garantissait que tous les résultats seraient pertinents pour la science des données et que les mêmes critères s'appliqueraient à toutes les requêtes.
AngelList ne donne pas le nombre total de postes vacants liés à l'utilisation des données, mais le nombre total d'entreprises offrant de tels postes vacants. J'ai exclu ce site des deux études, car son algorithme de recherche, apparemment, fonctionne sur la base du principe "OU" et ne permet pas de passer en quelque sorte au modèle "Et". Vous pouvez travailler avec AngelList lorsque vous entrez quelque chose dans l'esprit du «data scientist» «TensorFlow» - dans ce cas, la correspondance avec la deuxième requête implique la correspondance avec la première. Cependant, si vous utilisez des mots clés dans l'esprit de "data scientist" "react.js", il y aura alors beaucoup de postes vacants qui ne sont pas liés à la science des données.
Les matériaux avec Glassdoor ont également dû être exclus. Le site prétendait disposer d'informations sur 26 263 offres d'emploi, mais en fait 900 au maximum étaient affichées. De plus, il me semble extrêmement douteux qu'ils aient collecté plus de trois fois plus de postes vacants que tout autre grand site.
Pour la dernière étape de l'étude, j'ai sélectionné des mots clés pour lesquels le retour sur LinkedIn a été important: plus de 400 résultats pour des compétences de grande envergure, plus de 200 pour des technologies privées. Bien sûr, il y avait des offres en double. J'ai enregistré les résultats de cette étape dans un
document Google .
Ensuite, j'ai téléchargé les fichiers .csv, les ai téléchargés sur JupyterLab, calculé la prévalence de chacun en pourcentage et fait la moyenne des valeurs obtenues sur différentes ressources. J'ai ensuite comparé les résultats par langue avec ceux présentés dans l'
étude sur les offres d'emploi du secteur data science de Glassdoor au premier semestre 2017. Si vous ajoutez à cela les informations de l'
enquête sur l'utilisation des KDNuggets, il semble que certaines compétences gagnent en popularité, tandis que d'autres perdent progressivement de la valeur. Mais plus à ce sujet plus tard.
Dans mon
noyau Kaggle, vous trouverez des graphiques interactifs et des analyses supplémentaires. Pour la visualisation, j'ai utilisé Plotly. Afin de travailler avec Plotly et JupyterLab en groupe, vous devez jouer quelque chose, du moins c'était au moment de la rédaction de cet article - les instructions se trouvent à la fin de mon noyau Kaggle, ainsi que dans la
documentation Plotly .
De larges compétences
Voici un graphique qui représente les compétences générales les plus populaires que les employeurs souhaitent voir les candidats.
Les résultats montrent que l'analyse et l'apprentissage automatique continuent de former la base du travail des experts en science des données. Le but principal de cette spécialité est de tirer des conclusions utiles sur la base de tableaux de données. L'apprentissage automatique vise à créer des systèmes qui peuvent prédire le cours des événements, respectivement, il est très demandé.
Le traitement des données nécessite une connaissance des statistiques et la capacité d'écrire du code - il n'y a rien de surprenant. En outre, les statistiques, les mathématiques et le génie logiciel sont des spécialités dans lesquelles la formation est dispensée dans les universités, ce qui peut également affecter la fréquence des demandes.
Fait intéressant, dans la description de près de la moitié des postes vacants, la communication est mentionnée: les spécialistes des données doivent être en mesure de transmettre leurs conclusions aux personnes et de travailler en équipe.
La mention de l'IA et du deep learning n'est pas aussi régulière que certaines des autres requêtes. Cependant, ces domaines sont des branches de l'apprentissage automatique. L'apprentissage en profondeur est de plus en plus utilisé dans des tâches pour lesquelles des algorithmes d'apprentissage automatique étaient auparavant utilisés. Par exemple, les meilleurs algorithmes d'apprentissage automatique pour les problèmes qui surviennent lors du traitement d'un langage naturel se rapportent désormais spécifiquement au domaine de l'apprentissage profond. Je pense qu'à l'avenir, il deviendra de plus en plus populaire, et l'apprentissage automatique commencera progressivement à être perçu comme synonyme de profond.
Quelles solutions logicielles spécifiques devraient être maîtrisées par les experts en science des données, selon les employeurs? Nous passons à cette question dans la section suivante.
Compétences technologiques
Vous trouverez ci-dessous 20 langues, bibliothèques et outils technologiques spécifiques avec lesquels, de l'avis des employeurs, les spécialistes en informatique devraient avoir de l'expérience.
Passons rapidement en revue les dirigeants.
Python est l'option la plus demandée. Le fait que ce langage open source soit extrêmement populaire parmi les programmeurs, beaucoup l'ont noté. Pour les débutants, c'est une option très pratique: il existe de nombreuses ressources de formation. La grande majorité des nouveaux outils de données sont compatibles avec lui. Sur la base de tout cela, Python peut être appelé le langage principal pour les experts en science des données.
R suit Python par une petite marge. Il était une fois, c'était lui qui était la langue principale des spécialistes de la science des données. Ce fut une surprise pour moi que l'intérêt actif pour lui persiste. Cette langue trouve son origine dans les statistiques et, par conséquent, est très populaire parmi ceux qui la traitent.
Presque toutes les offres d'emploi nécessitent de connaître l'une de ces deux langues - Python ou R.
SQL est également très demandé. L'abréviation signifie Structured Query Language (Structured Query Language), et c'est ce langage qui est le principal outil d'interaction avec les bases de données relationnelles. SQL dans la communauté de la science des données est souvent négligé, mais il fait référence aux compétences que vous devez maîtriser si vous prévoyez d'entrer sur le marché du travail.
Viennent ensuite
Hadoop et
Spark - qui sont tous deux des outils open source d'Apache, conçus pour fonctionner avec les mégadonnées. Beaucoup moins de tutoriels et d'articles sur Medium ont été écrits à leur sujet. Je suppose que le nombre de candidats qui en sont propriétaires est nettement inférieur à ceux qui connaissent Python ou R. Si vous savez travailler avec Hadoop et Spark ou avez la capacité de les maîtriser, cela peut être un bon avantage pour vous par rapport à vos concurrents.
Ensuite,
Java et
SAS . J'ai été surpris que ces deux langues aient pu grimper si haut. Les deux sont une idée originale de grandes entreprises et pour les deux sont une certaine quantité de matériaux gratuits. Cependant, parmi les experts en science des données, ni Java ni SAS ne présentent un intérêt particulier.
Le suivant dans le classement des technologies populaires est
Tableau . Il s'agit d'une plate-forme analytique et d'un outil de visualisation puissant et facile à utiliser. Sa popularité ne cesse de croître. Tableau a une version publique gratuite, mais si vous souhaitez travailler avec des données en mode privé, vous devez débourser. Si vous êtes complètement nouveau sur Tableau, il est logique de suivre une courte formation - par exemple,
Tableau 10 AZ sur Udemy. Ils ne me paient pas pour la publicité, je viens de suivre ce cours moi-même et je l'ai trouvé très utile.
Dans le tableau ci-dessous, vous trouverez une liste étendue des langages, frameworks et autres outils populaires pour travailler avec des données.
Comparaison historique
L'équipe GlassDoor a publié une
étude sur les dix compétences les plus populaires pour les experts en science des données de janvier à juillet 2017. Sur le graphique ci-dessous, leurs données sur la fréquence des termes sont comparées aux valeurs moyennes calculées par moi pour les sites LinkedIn, Indeed, SimplyHired et Monster.
Dans l'ensemble, les résultats sont similaires. Mes recherches et celles de Glassdoor conviennent que la demande de Python, R et SQL est la plus élevée. Les sommets des compétences coïncident également dans la composition des neuf premières positions, bien que l'ordre exact soit différent.
À en juger par les résultats, par rapport au premier semestre 2017, la demande de R, Hadoop, Java, SAS et MatLab a diminué, tandis que Tableau, au contraire, est devenu plus populaire. Cela devrait être prévu si vous regardez au moins les résultats d'une
enquête auprès des développeurs de KDnuggets. Ils montrent clairement que R, Hadoop, Java et SAS sont en déclin depuis plusieurs années, tandis que Tableau est stable à la hausse.
Recommandations
Compte tenu de ces calculs, je voudrais proposer un certain nombre de recommandations aux spécialistes des données qui sont déjà entrés sur le marché ou qui se préparent tout juste à commencer une carrière, tout en augmentant leur compétitivité.
- Montrez que vous savez comment analyser les données et n'épargnez aucun effort pour maîtriser correctement l'apprentissage automatique
- Faites attention aux compétences de communication. Je vous conseille de lire le livre " Made to Stick ", qui décrit comment donner plus de poids à vos idées. Entraînez-vous également avec l'application Hemmingway Editor pour apprendre à exprimer plus clairement vos pensées.
- Apprenez le cadre de l'apprentissage en profondeur. Cela devient progressivement une partie intégrante du processus d'apprentissage de l'apprentissage automatique. Dans mon autre article, je compare différents cadres sur leur utilité, leur intérêt et leur popularité - vous pouvez le trouver ici .
- Si vous hésitez entre Python et R, choisissez Python. Si vous connaissez déjà Python comme le dos de votre main, pensez à en savoir plus sur R. Cela fera certainement de vous un candidat plus attrayant sur le marché.
Lorsqu'un employeur recherche un employé qui travaille avec Python, il s'attend probablement à ce que les candidats se familiarisent avec les principales bibliothèques de traitement des données: numpy, pandas, scikit-learn et matplotlib. Si vous souhaitez maîtriser cet ensemble, je recommande les ressources suivantes:
- DataCamp et DataQuest - là et là, vous pouvez suivre un cours de formation en science des données SaaS en ligne pour peu d'argent; Vous apprendrez en plein processus d'écriture de code. Les deux cours couvrent une large gamme d'outils.
- Data School propose une gamme de ressources différentes, y compris une bonne série de vidéos YouTube qui expliquent les concepts de base de la science des données.
- Python et analyse de données par McKinney. C'est le travail de l'auteur de la bibliothèque pandas; Fondamentalement, c'est à ce sujet, mais cela touche également les bases de Python, numpy et scikit-learn en relation avec la science des données.
- « Introduction à l'apprentissage automatique avec Python. A Guide for Data Professionals »par Muller et Guido. Mueller est responsable du support de scikit-learn. Un excellent livre pour ceux qui étudient l'apprentissage automatique en général et cette bibliothèque en particulier.
Si vous voulez faire une percée dans le deep learning, je vous conseille de commencer par
Keras ou
FastAI , puis de passer à
TensorFlow ou
PyTorch . Le «
Deep Learning in Python » de Scholl est d'une grande aide pour ceux qui apprennent à travailler avec Keras.
En plus de ces recommandations, je pense qu'il vaut la peine de se concentrer sur l'étude de ce qui vous intéresse, bien que, bien sûr, vous puissiez allouer votre temps à la formation en fonction de diverses considérations.
Si vous êtes à la recherche d'un emploi en tant que spécialiste de l'informatique sur les portails en ligne, je vous conseille de commencer par LinkedIn - ses résultats sont toujours les plus complets. De plus, lors de la recherche de postes vacants ou de la publication de CV sur des sites Web, les mots clés jouent un rôle très important. Par exemple, pour toutes les ressources considérées, la requête «data science» donne trois fois plus de résultats que la requête «data scientist». En revanche, si vous êtes uniquement et exclusivement intéressé par les offres data scientist, il est préférable de privilégier cette demande.
Mais peu importe la ressource que vous choisissez, je vous recommande de créer un portfolio en ligne qui démontre vos compétences dans différents domaines demandés - plus il y en a, mieux c'est. Votre profil LinkedIn devrait idéalement contenir des preuves des compétences dont vous parlez.
Je présenterai peut-être le reste des résultats de la recherche dans d'autres articles. Si vous voulez en savoir plus sur le code ou les graphiques interactifs, je vous invite à
Kaggle Kernel .