Nous sommes en pleine croissance et, plus que jamais, nous recrutons des ingénieurs logiciels talentueux. Lokad est confronté à un ensemble impressionnant de défis techniques. Ainsi, lorsque les ingénieurs nous demandent ce que je ferai chez Lokad ?, nous pouvons retourner la question en demandant ce que vous aimeriez faire avec nous ?. Passons en revue rapidement les principales zones fonctionnelles de la plateforme Lokad. Si vous postulez chez Lokad, veuillez nous indiquer où se situent vos intérêts.
Intéressé par Lokad ? Les postes à distance sont les bienvenus.
Postulez en envoyant votre CV à contact@lokad.com.
La Mission (du point de vue d’un ingénieur)
Les chaînes d’approvisionnement restent inefficaces et gaspilleuses. Nous parlons d’environ 15% de l’économie mondiale : les chaînes d’approvisionnement sont vastes et des améliorations à deux chiffres restent possibles. Nous voulons mettre les chaînes d’approvisionnement en pilote automatique grâce à l’IA et offrir des performances supérieures à celles des humains.
Les bases
Notre base de code est en C# / F# / TypeScript / .NET. Nous utilisons Git et Visual Studio. Lokad est hébergé sur Microsoft Azure. Nous sommes principalement indépendants du système d’exploitation et fonctionnons sous .NET Core et Linux. Nous avons des milliers de tests unitaires et une intégration continue solide de bout en bout, où nous pouvons tout redéployer en un seul clic.
Nous obtenons un score de 12/12 au Test de Joel, mais avec quelques variations que nous considérons comme supérieures (gardez à l’esprit que ce test a été rédigé il y a 20 ans).
Les nouveaux candidats écrivent-ils du code pendant leur entretien ? Oui, mais nous demandons également aux candidats de nous envoyer à l’avance un morceau de code remarquable de leur choix, écrit par le candidat lui-même. Ensuite, nous consacrons une partie de l’entretien à mettre le candidat au défi par rapport à ce morceau de code.
Faites-vous des tests d’utilisabilité dans le couloir ? Cela fonctionne certainement lorsque vous développez une application web. En ce qui concerne la conception d’un compilateur et d’un pipeline de données d’apprentissage approfondi, eh bien, pas tellement. Cependant, nous utilisons massivement nos propres outils, car nos propres scientifiques de la supply chain sont les utilisateurs les plus actifs de Lokad.
Event sourcing
Fatigué de développer des applications CRUD couplées à des bases de données SQL ? Si ce n’est pas le cas, cela devrait l’être. L’approche de l’event sourcing représente une alternative supérieure à pratiquement tous les égards. Elle est plus facile à maintenir, plus évolutive, plus sécurisée. Le principal inconvénient reste le manque de familiarité de la communauté logicielle avec cette approche. Le cœur de Lokad est entièrement construit sur l’event sourcing, et nous n’avons pas de bases de données SQL.
Si vous souhaitez apprendre à concevoir des applications cloud basées sur des principes modernes, rejoignez-nous.
Couche de stockage
Nous avons organisé toutes les données de nos clients comme un dépôt Git ; sauf que certains clients envoient des fichiers aussi grands que 100 Go par fichier. Évidemment, nous n’utilisons pas un backend Git réel, nous avons développé notre propre couche de stockage sur le Blob Storage de Microsoft Azure.
Avoir une couche de stockage similaire à Git est important pour la fiabilité et la reproductibilité. Envoyer des fichiers plats gigantesques à Lokad prend du temps. Vous ne voulez pas exposer vos clients au risque de traiter un fichier plat écrit à moitié (ou écrasé). Grâce à des sémantiques similaires à Git, un fichier est soit là, soit il n’est pas là ; aucun état non sécurisé du fichier n’est jamais exposé au reste de Lokad.
Si vous aimez le Big Data, c’est l’endroit idéal.
Compilateur, front et back
Envision est notre DSL interne. Il est utilisé intensivement par l’équipe des Supply Chain Scientists. Ce langage est simple et pourtant, il offre une productivité énorme lorsqu’il s’agit de relever les défis d’optimisation de la supply chain. Dans son ensemble, Lokad est une plateforme conçue pour créer et exécuter des scripts Envision.
Comme tout le code Envision vit au sein de la plateforme Lokad, nous avons l’opportunité de réécrire automatiquement les scripts existants à mesure que le langage évolue. Ainsi, nous ne vivons pas éternellement avec chaque erreur de conception que nous avons commise. Nous réécrivons et avançons. Pour un ingénieur en compilation, cela représente l’opportunité de travailler à un rythme incroyablement rapide.
Vous avez des compétences en compilation de haut niveau ? Nous avons besoin de vous.
Grille de calcul
Notre compilateur ne cible pas une machine mais un cloud. Envision a été conçu pour le parallélisme à grande échelle. Nous avons développé notre propre grille de calcul, quelque peu similaire à Spark. Cependant, en exploitant les schémas de données de la supply chain, nous parvenons fréquemment à obtenir des accélérations de 10x à 100x par rapport aux approches génériques - toutes les ressources de calcul étant égales.
Tirer pleinement parti d’un cloud de machines est un paradigme révolutionnaire. Le calcul distribué est difficile, mais même les systèmes embarqués sont susceptibles de devenir des systèmes distribués à l’avenir. Nous voulons que Lokad puisse s’adapter aux plus grandes supply chains, et cela nécessitera un calcul massivement distribué.
Vous connaissez peut-être Spark, mais êtes-vous capable de construire un meilleur Spark ? Si oui, rejoignez-nous.
Apprentissage automatique
La prévision est un pilier de l’optimisation de la supply chain. Notre dernier moteur de prévision est déjà construit sur la base de la programmation différentiable, qui peut être considérée comme une descendance de l’apprentissage profond. Nous utilisons parfois les “classiques” de l’apprentissage profond. Cependant, nos cas d’utilisation sont radicalement différents. Alors que la grande majorité de la communauté de l’apprentissage profond se concentre sur les médias (image, texte, son), nous nous concentrons sur les données de la supply chain.
L’apprentissage profond chez Lokad ne consiste pas à manipuler les données avec le dernier outil open source du mois. Il s’agit de revisiter les fondements de l’apprentissage statistique pour fournir des résultats supérieurs à toute une industrie. Nos défis consistent à inventer de nouveaux algorithmes, à développer nos propres primitives lorsque cela est nécessaire.
Vous connaissez peut-être TensorFlow, mais êtes-vous capable de construire un meilleur TensorFlow ? Si oui, rejoignez-nous.
Solveurs et autres algorithmes
L’optimisation de la supply chain implique, eh bien, pas mal d’algorithmes d’optimisation. La plupart de ces problèmes pourraient être qualifiés de problèmes de programmation entière, cependant, dans la supply chain, nous sommes régulièrement confrontés à des situations avec des millions de variables. Les approches traditionnelles de branch-and-bound sont quelque peu décevantes pour aborder ces situations, c’est pourquoi nous avons développé nos propres solveurs spécialisés.
Bien que nos capacités d’optimisation soient encore naissantes, des solveurs puissants capables de traiter les variables stochastiques, les prévisions probabilistes, entre autres, font partie de notre feuille de route. Nous voulons être en mesure de résoudre des problèmes impliquant des dizaines de millions de variables et des dizaines de millions de contraintes. Cela sera nécessaire pour répondre aux besoins des plus grandes supply chains.
Vous aimez les algorithmes complexes. Vous pensez que la performance est une fonctionnalité. Nous aussi. Rejoignez-nous.
Tableaux de bord composables
Il est facile de concevoir un tableau de bord qui a l’air bien si vous pouvez définir la taille de chaque tuile et avoir des ensembles de données soigneusement sélectionnés pour être jolis. Cependant, Envision permet aux utilisateurs finaux de générer de manière programmable des tableaux de bord contenant de nombreux types de tuiles (graphiques, tableaux, KPI, etc.) avec des tailles et des positions arbitraires, affichant des données du monde réel, avec toutes ses particularités et ses valeurs aberrantes, tout en ayant toujours une apparence agréable.
Avons-nous mentionné que nos tableaux de bord sont rapides ? Ils le sont. Généralement rendus côté client en moins de 500 ms, même lorsqu’ils sont confrontés à des tableaux de bord complexes. Concevoir des tableaux de bord agréables mais aussi pratiques est difficile - pour le moins que l’on puisse dire. Nous avons déjà mis en place une infrastructure pour offrir cette performance, mais nous avons encore un long chemin à parcourir pour en tirer le meilleur parti.
Êtes-vous capable de résoudre notre problème de méta-conception ? Rejoignez-nous.
Mashups et intégrations
L’optimisation de la supply chain ne vaut rien sans données. De plus en plus, toute la supply chain vit dans le cloud. Des applications telles que les ERP / WMS / OMS sont également des SaaS, tout comme Lokad. Grâce à leurs API, ces applications exposent des données qui sont essentielles pour accomplir la mission de Lokad. Ainsi, Lokad doit prendre en charge un écosystème croissant d’intégrations.
L’intégration de données tierces peut être considérée comme une simple plomberie. Pourtant, le faire correctement est généralement un défi. Nous devons récupérer l’ensemble des données historiques de manière à la fois incrémentale et fiable. Nous devons gérer de nombreux modes de défaillance. Il est inutile de blâmer les applications de ne pas atteindre une disponibilité de 100 %, personne n’y parvient. Au lieu de cela, nous élaborons des stratégies pour tirer le meilleur parti du temps de disponibilité qui nous est accordé.
Vous voulez socialiser avec la moitié de l’écosystème logiciel B2B ? Rejoignez-nous.