L’avènement du data Ingénieur

Ceci n’est pas une information: le monde se numérise : Véhicule autonome; recette de crumble chez marmiton ; simulateur de maquillage, footing du dimanche matin, calories ingurgitées, bulletin scolaire… !

Autre non-information, les métiers du numérique, du développement jusqu’au marketing se multiplient, se spécialisent, naissent (…foisonnent), disparaissent, ou plus souvent évoluent (parle-ton encore d’expert JEE ? le GrowthHacker est-il encore d’actualité ? qu’est-ce qui définit vraiment un full stack <DEV / ARCHI / …>).

Et au croisement de l’effervescence des données, cela donne une suite de nouveaux métiers dont celui de Data Scientist, lequel a été baptisé ‘métier le plus sexy du XXI eme siècle’. Et il y a de bonnes raisons pour cela…

Il a entre les mains les informations au coeur de son entreprise et il a la responsabilité de créer de l’innovation:

  • Par des algorithmes toujours plus efficaces ( non mais regardez le nombre de librairies open-source ICI!, et il y a les APIs des géants qui sont à une portée d’une ligne de code de nos applications)
  • Par du matériel (SSD, GPU) qui révolutionne les échelles de ce que l’on imaginait possible,
  • Par une multiplication des cas d’utilisation qui débride l’imagination …

Un peu en retrait (ou en amont, ou à côté) du Data Scientist se trouve le Data Ingénieur. Et notamment parce qu’en amont des travaux de valorisation par la data science, il existe des activités passionnantes mais qui n’ont pas autant les feux de l’actualité. Ce sont celles d’architecture des données, de modélisation, de conception et de développement des traitements.. et elles sont très mal pourvues elles aussi (c’est la grande, l’IMMENSE Pénurie !!).

Mais que fait-il exactement ?

Le développeur Data, ou Data Ingénieur ou Data Architect (selon les degrés d’expérience et d’étendue de ses connaissances) a un rôle de premier plan à jouer dans les stratégies Data.

Il sait sélectionner, évaluer, mettre en place les technologies Data qui supporteront le mieux la feuille de route du projet.
Il faut choisir ses armes :

  • Quelles bases de données NoSQL ou Relationnelles ?
    i. et dans la pléthore de solution NoSQL, choisira-t-on une base clé-valeur ? Une base document ? Une base colonne ?
  • Quelles briques de gestion de flux d’informations ?
    ii. Quelle durabilité attend-on ? quelle sera la topologie des flux de données à assurer : unicité ou multiplicité des consommateurs ? mon flux doit-il intégrer des règles de transformation simples (mise en forme superficielle) ou complexes (exécution de prédiction basée sur un algorithme de machine learning)?
  • Comment gérer le cycle de données chaudes, données froides ?
    i. Et comment gérer l’éventuelle duplication des informations ?
  • Scala, Python, Go … quel langage(s) et quelle stack technique construire
    i. Pas de partisanerie, il faut choisir le bon outil et l’intégrer dans un patrimoine technique cohérent…
    ii il faudra sans doute monter en compétence, mais la témérité est une des qualités première de notre hardi Data Ingénieur.
  • Quel notebook pour réunir Data Ingénieurs et Data Scientists ?
    i. Parce qu’ils se parlent volontiers, mais ils se comprennent d’autant plus qu’ils partagent un territoire technique commun.
  • Hadoop ou non ?
  • Et plus généralemennt : on sélectionne la stack technique parce qu’elle répond à un besoin ou une feuille de route, et non pas par effet de mode (Hype Design Development) ou par amusement personnel.

Il est autonome dans le développement des traitements de données, la meilleure manière de les trier, agréger, structuter pour être ensuite : recherchée, valorisée, stockée pour des usages ultérieurs.
Notre Data Hero jongle avec une aisance algorithmique certaine, une connaissance étendue des librairies, paramétrages, et tous les trucs et astuces du gourou de la performance. Par exemple, en Spark , il sait broadcaster, placer en cache, partitionner ses fichiers parquet,  jouer avec le parallélisme, soulager sa mémoire en sélectionnant le juste nécessaire ou en tunant tous ses paramètres à disposition.

Il interagit avec les Data scientists pour converger en termes de stratégie de données mais aussi sur les pratiques de développement et socles qui répondront aux différentes attentes.
* Choix des langages : Python, Scala, Go…
* Choix du notebook : Jupyter ou Zeppelin …

Il sait mieux que quiconque positionner des capteurs de données ( Cookies ou autres traqueurs, collecteur de logs, proposer une API de collecte ou bien appeler une API). En résumé, il s’épanouit dans un  écosystème foisonnant et passionnant sur lequel travailler et qui lui permet de composer des solutions innovantes.

Chez Novagen, nos data ingénieurs et data scientists travaillent ensemble sur des sujets où leurs compétences se complètent admirablement. Contactez-nous pour en savoir plus !