Les emplois en ingénierie logicielle chez Lokad

Nous sommes en pleine expansion et, plus que jamais, nous recrutons des ingénieurs logiciels talentueux. Lokad doit relever un ensemble impressionnant de défis techniques. Ainsi, lorsque les ingénieurs nous demandent « que ferai-je chez Lokad ? », nous pouvons leur renvoyer la question en demandant « qu’aimeriez-vous faire avec nous ? ». Examinons rapidement les principales zones fonctionnelles de la plateforme Lokad. Si vous postulez chez Lokad, merci de nous indiquer vos domaines d’intérêt.

Intéressé par Lokad ? Les postes en télétravail sont les bienvenus.

Postulez en envoyant votre CV à contact@lokad.com.

software-engineering-social

La Mission (du point de vue d’un ingénieur)

Les supply chains restent inefficaces et génèrent du gaspillage. Nous parlons d’environ 15 % de l’économie mondiale : les supply chains sont immenses, et des améliorations à deux chiffres demeurent possibles. Nous voulons mettre les supply chains en autopilote AI 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 en grande partie agnostiques vis-à-vis de l’OS, et opérons sous .NET Core et Linux. Nous disposons de milliers de tests unitaires, et d’une intégration continue de bout en bout robuste, qui nous permet de redéployer tout d’un seul clic.

Nous obtenons 12/12 au Test de Joel mais avec quelques variations que nous estimons 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, dès le départ, de nous envoyer un morceau de code remarquable de leur choix, bien entendu écrit par le candidat lui-même. Ensuite, nous consacrons une partie de l’entretien à challenger le candidat avec ce morceau de code.

Avez-vous mis en place des tests d’usabilité informels dans les couloirs ? Cela fonctionne certainement lorsque vous développez une application web. Lorsqu’il s’agit de concevoir un compilateur et une pipeline de données deep learning, eh bien, pas tant que ça. Cependant, nous utilisons massivement nos propres produits, car nos propres supply chain scientists se trouvent être les utilisateurs les plus actifs chez Lokad.

Event sourcing

Marre de développer des applications CRUD couplées à des bases de données SQL ? Si ce n’est pas le cas, vous devriez l’être. L’event sourcing représente une alternative supérieure à pratiquement tous égards. Il est plus facile à maintenir, plus évolutif et plus sécurisé. Le principal inconvénient demeure 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’utilisons pas de bases de données SQL.

Si vous souhaitez apprendre à concevoir des applications cloud computing fondées sur des principes modernes, rejoignez-nous.

Couche de Stockage

Nous avons organisé les données de tous nos clients comme une sorte de dépôt Git ; sauf que certains clients poussent des fichiers aussi volumineux que 100GB par fichier. Évidemment, nous n’utilisons pas un véritable back-end Git, nous avons développé notre propre couche de stockage sur le Blob Storage de Microsoft Azure.

Disposer d’une couche de stockage semblable à Git est important pour la fiabilité et la reproductibilité. Envoyer d’immenses fichiers plats à Lokad prend du temps. Vous ne voulez pas exposer vos clients au risque de traiter un fichier plat partiellement écrit (ou écrasé). Grâce à des sémantiques similaires à Git, un fichier est soit présent, soit absent ; aucun état non sécurisé du fichier n’est jamais exposé au reste de Lokad.

Si vous aimez le Big Data, alors c’est l’endroit idéal.

Compilateur, front et back

Envision est notre DSL développé en interne. Il est utilisé intensivement par l’équipe des supply chain scientists. Ce langage est simple et, pourtant, il offre une productivité remarquable lorsqu’il s’agit de relever les défis d’optimization de la supply chain. Dans l’ensemble, Lokad est une plateforme conçue pour créer et exécuter des scripts Envision.

Puisque l’intégralité du code Envision vit au sein de la plateforme Lokad, nous avons la possibilité de réécrire automatiquement les scripts existants à mesure que le langage évolue. Ainsi, nous ne vivons pas éternellement avec chacune de nos erreurs de conception. Nous réécrivons et passons à autre chose. Pour un ingénieur compilateur, cela représente l’opportunité de travailler à un rythme incroyablement rapide.

Vous avez des compétences poussées en compilation ? 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 semblable à Spark. Pourtant, en tirant parti des schémas de données de la supply chain, nous parvenons fréquemment à obtenir des accélérations allant de 10x à 100x par rapport aux approches génériques - toutes ressources informatiques étant égales.

Tirer pleinement parti d’un cloud de machines est un paradigme révolutionnaire. Le calcul distribué est ardu, mais même les systèmes embarqués deviendront probablement des systèmes distribués à l’avenir. Nous voulons que Lokad puisse s’adapter aux plus grandes supply chains, et cela nécessitera une informatique massivement distribuée.

Vous connaissez peut-être Spark, mais êtes-vous capable de construire un Spark meilleur ? Si oui, rejoignez-nous.

Machine learning

La prévision est une pierre angulaire de l’optimization de la supply chain. Notre dernier moteur de prévision est déjà construit sur la base de differentiable programming, qui peut être considéré comme un descendant du deep learning. Nous utilisons parfois les “classiques” du deep learning. Cependant, nos cas d’usage sont radicalement différents. Alors que la grande majorité de la communauté du deep learning se concentre sur les médias (image, texte, son), nous nous concentrons sur les données de la supply chain.

Le deep learning chez Lokad ne consiste pas à manipuler des données avec le dernier toolkit open source à la mode. Il s’agit de repenser les fondements de l’apprentissage statistique afin de fournir des résultats supérieurs pour une industrie entière. Nos défis consistent à inventer de nouveaux algorithmes, en développant nos propres primitives chaque fois que cela est nécessaire.

Vous connaissez peut-être TensorFlow, mais êtes-vous capable de construire un TensorFlow meilleur ? Si oui, rejoignez-nous.

Solveurs et autres algorithmes

L’optimization de la supply chain implique, eh bien, un grand nombre d’algorithmes d’optimisation. La plupart de ces problèmes pourraient être qualifiés de problèmes de programmation en nombres entiers, cependant, dans les supply chains, nous sommes régulièrement confrontés à des situations comportant des millions de variables. Les approches traditionnelles de branch-and-bound sont quelque peu insuffisantes pour aborder ces situations, ainsi 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 souhaitons être en mesure de monter en échelle sur 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 exigeants. Vous pensez que la performance est une caractéristique. Nous aussi. Rejoignez-nous.

Tableaux de bord composables

Il est facile de concevoir un tableau de bord beau à voir si vous pouvez définir la taille de chaque tuile et disposer de jeux de données triés sur le volet pour leur aspect esthétique. Cependant, Envision permet aux utilisateurs finaux de générer par programmation des tableaux de bord contenant plusieurs types de tuiles (graphiques, tableaux, KPI, etc.) de tailles et de positions arbitraires, affichant des données du monde réel, avec toutes leurs imperfections, valeurs aberrantes et cas particuliers, tout en restant esthétiques.

Avons-nous mentionné que nos tableaux de bord sont rapides ? Ils le sont. Généralement rendus côté client en moins de 500ms même face à des tableaux de bord complexes. Concevoir des tableaux de bord à la fois esthétiques et pratiques est difficile - c’est le moins qu’on puisse dire. Nous avons déjà mis en place l’infrastructure nécessaire 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 méta de design ? Rejoignez-nous.

Mashups et intégrations

L’optimization de la supply chain n’est rien sans données. De plus en plus, l’ensemble de la supply chain vit dans le cloud computing. Des applications comme les ERP / WMS / OMS sont également SaaS, tout comme Lokad. Grâce à leurs API, ces applications exposent des données cruciales pour la mission de Lokad. Ainsi, Lokad doit prendre en charge un écosystème croissant d’intégrations.

Intégrer des données tierces peut être considéré comme une simple opération de plomberie. Pourtant, le faire correctement est généralement un défi. Nous devons récupérer l’intégralité des données historiques d’une manière à la fois incrémentale et fiable. Nous devons gérer de nombreux modes d’échec. Il est inutile de reprocher aux applications de ne pas atteindre une disponibilité de 100 %, personne ne le fait. À la place, 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 des logiciels B2B ? Rejoignez-nous.