Software Engineering Jobs bei Lokad

Wir wachsen und stellen mehr denn je talentierte Softwareingenieure ein. Lokad steht vor einer beeindruckenden Reihe technischer Herausforderungen. Wenn Ingenieure uns also fragen, was werde ich bei Lokad tun?, können wir die Frage mit was möchtest du mit uns tun? beantworten. Lassen Sie uns einen kurzen Überblick über die Hauptfunktionsbereiche der Lokad-Plattform geben. Wenn Sie sich bei Lokad bewerben, lassen Sie uns bitte wissen, wo Ihre Interessen liegen.

Interessiert an Lokad? Remote-Positionen sind willkommen.

Bewerben Sie sich, indem Sie Ihren Lebenslauf an contact@lokad.com senden.

software-engineering-social

Die Mission (aus der Sicht eines Ingenieurs)

Lieferketten bleiben verschwenderisch und ineffizient. Wir sprechen von etwa 15% der weltweiten Wirtschaft: Lieferketten sind riesig und zweistellige Verbesserungen sind möglich. Wir möchten Lieferketten auf KI-Autopilot setzen und dabei eine Leistung erbringen, die übermenschlich ist.

Die Grundlagen

Unser Codebase ist C# / F# / TypeScript / .NET. Wir verwenden Git und Visual Studio. Lokad wird auf Microsoft Azure gehostet. Wir sind größtenteils unabhängig vom Betriebssystem und arbeiten unter .NET Core und Linux. Wir haben Tausende von Unit-Tests und eine robuste End-to-End-Continuous-Integration, bei der wir alles mit einem einzigen Klick neu bereitstellen können.

Wir erreichen 12/12 Punkte im Joel Test, aber mit einigen Variationen, von denen wir glauben, dass sie überlegen sind (beachten Sie, dass dieser Test vor 20 Jahren geschrieben wurde).

Schreiben neue Bewerber während ihres Vorstellungsgesprächs Code? Ja, aber wir bitten die Bewerber auch im Voraus, uns ein bemerkenswertes Stück Code ihrer eigenen Wahl zu senden, das natürlich vom Bewerber selbst geschrieben wurde. Anschließend stellen wir während des Vorstellungsgesprächs eine Herausforderung für den Bewerber anhand dieses Codes.

Führen Sie Benutzbarkeitstests im Flur durch? Das funktioniert sicherlich, wenn Sie eine Web-App entwickeln. Wenn es jedoch um das Design eines Compilers und einer Deep-Learning-Datenpipeline geht, nicht so sehr. Wir verwenden jedoch massiv unsere eigenen Produkte, da unsere eigenen Supply Chain Scientists die aktivsten Lokad-Benutzer sind.

Event Sourcing

Haben Sie genug davon, CRUD-Apps mit SQL-Datenbanken zu entwickeln? Wenn nicht, sollten Sie es tun. Event Sourcing ist in praktisch jeder Hinsicht eine überlegene Alternative. Es ist einfacher zu warten, skalierbarer und sicherer. Der Hauptnachteil besteht darin, dass die Software-Community mit diesem Ansatz nicht vertraut ist. Das Kernstück von Lokad basiert vollständig auf Event Sourcing, und wir haben keine SQL-Datenbanken darin.

Wenn Sie lernen möchten, Cloud-Apps nach modernen Prinzipien zu entwickeln, kommen Sie zu uns.

Speicherschicht

Wir haben alle Daten unserer Kunden als eine Art Git-Repository organisiert. Einige Kunden laden jedoch Dateien hoch, die bis zu 100 GB pro Datei groß sind. Offensichtlich verwenden wir kein tatsächliches Git-Backend, sondern haben unsere eigene Speicherschicht auf Basis des Blob Storage von Microsoft Azure entwickelt.

Eine Git-ähnliche Speicherschicht ist wichtig für Zuverlässigkeit und Reproduzierbarkeit. Das Hochladen riesiger Flachdateien zu Lokad dauert seine Zeit. Sie möchten Ihre Kunden nicht dem Risiko aussetzen, eine halb geschriebene (oder überschriebene) Flachdatei zu verarbeiten. Durch die Git-ähnliche Semantik ist eine Datei entweder vorhanden oder nicht vorhanden. Es wird niemals ein unsicherer Zustand der Datei dem Rest von Lokad ausgesetzt.

Wenn Sie Big Data lieben, sind Sie hier richtig.

Compiler, vorne und hinten

Envision ist unsere hausgemachte DSL. Sie wird intensiv vom Team der Supply Chain Scientists genutzt. Diese Sprache ist einfach und dennoch bietet sie eine enorme Produktivität bei der Bewältigung von Herausforderungen bei der Optimierung der Lieferkette. Insgesamt ist Lokad eine Plattform, die entwickelt wurde, um Envision-Skripte zu erstellen und auszuführen.

Da sich der gesamte Envision-Code innerhalb der Lokad-Plattform befindet, haben wir die Möglichkeit, die vorhandenen Skripte automatisch umzuschreiben, wenn sich die Sprache weiterentwickelt. Auf diese Weise leben wir nicht für immer mit jedem einzelnen Designfehler, den wir gemacht haben. Wir schreiben um und machen weiter. Für einen Compiler-Ingenieur bietet dies die Möglichkeit, mit unglaublich hoher Geschwindigkeit zu arbeiten.

Sie haben fundierte Compiler-Fähigkeiten? Wir brauchen Sie.

Berechnungsgitter

Unser Compiler zielt nicht auf eine Maschine ab, sondern auf eine Cloud. Envision wurde für Parallelverarbeitung im großen Maßstab entwickelt. Wir haben unser eigenes Berechnungsgitter entwickelt, das dem von Spark ähnelt. Durch die Nutzung der Datenmuster der Lieferkette erreichen wir häufig eine 10- bis 100-fache Beschleunigung gegenüber generischen Ansätzen - bei gleichen Rechenressourcen.

Die volle Ausnutzung einer Maschinen-Cloud ist ein Paradigmenwechsel. Verteiltes Computing ist schwierig, aber auch eingebettete Systeme werden in Zukunft wahrscheinlich verteilte Systeme sein. Wir möchten, dass Lokad auf die größten Lieferketten skalieren kann, und das erfordert massiv verteiltes Computing.

Sie kennen Spark, aber sind Sie in der Lage, ein besseres Spark zu entwickeln? Wenn ja, kommen Sie zu uns.

Maschinelles Lernen

Die Prognose ist ein Eckpfeiler der Optimierung der Lieferkette. Unsere neueste Prognose-Engine basiert bereits auf differentiable programming, das als Nachfolger des Deep Learning angesehen werden kann. Wir verwenden manchmal die “Klassiker” des Deep Learning. Unsere Anwendungsfälle sind jedoch radikal unterschiedlich. Während sich die große Mehrheit der Deep Learning-Community auf Medien (Bild, Text, Ton) konzentriert, konzentrieren wir uns auf Lieferketten-Daten.

Deep Learning bei Lokad geht nicht darum, Datenmanipulation mit dem neuesten Open-Source-Toolkit des Monats zu betreiben. Es geht darum, die Grundlagen des statistischen Lernens neu zu überdenken, um überlegene Ergebnisse für eine ganze Branche zu liefern. Unsere Herausforderungen bestehen darin, neue Algorithmen zu erfinden und eigene Primitiven zu entwickeln, wann immer dies erforderlich ist.

Sie kennen TensorFlow, aber sind Sie in der Lage, ein besseres TensorFlow zu entwickeln? Wenn ja, kommen Sie zu uns.

Solver und andere Algorithmen

Die Optimierung der Lieferkette umfasst nun einmal eine Vielzahl von Optimierungsalgorithmen. Die meisten dieser Probleme könnten als ganzzahlige Programmierungsprobleme bezeichnet werden. In der Lieferkette stehen wir jedoch regelmäßig vor Situationen mit Millionen von Variablen. Traditionelle Branch-and-Bound-Ansätze sind für die Bewältigung dieser Situationen nicht besonders geeignet, daher haben wir eigene spezialisierte Solver entwickelt.

Obwohl unsere Optimierungsfähigkeiten noch in den Kinderschuhen stecken, sind leistungsstarke Solver, die in der Lage sind, stochastische Variablen, probabilistische Prognosen und andere zu verarbeiten, Teil unserer Roadmap. Wir möchten in der Lage sein, Probleme zu bewältigen, die Zehnmillionen von Variablen und Zehnmillionen von Einschränkungen beinhalten. Dies wird erforderlich sein, um den Anforderungen der größten Lieferketten gerecht zu werden.

Sie mögen anspruchsvolle Algorithmen. Sie denken, dass Leistung eine Funktion ist. Das denken wir auch. Kommen Sie zu uns.

Komponierbares Dashboarding

Es ist einfach, ein Dashboard zu entwerfen, das gut aussieht, wenn Sie die Größe jeder Kachel festlegen können und Datensätze auswählen können, die hübsch aussehen. Envision ermöglicht es jedoch Endbenutzern, programmgesteuert Dashboards zu generieren, die viele Arten von Kacheln (Diagramme, Tabellen, KPIs usw.) mit beliebigen Größen und Positionen enthalten und reale Daten anzeigen, mit all ihren Unregelmäßigkeiten und Ausreißern und Randfällen, und dennoch gut aussehen sollen.

Haben wir erwähnt, dass unsere Dashboards schnell sind? Das sind sie. In der Regel werden sie auf der Client-Seite in weniger als 500 ms gerendert, auch wenn es sich um komplexe Dashboards handelt. Es ist schwierig - um es gelinde auszudrücken - schöne, aber auch praktische Dashboards zu erstellen. Wir haben bereits die Infrastruktur geschaffen, um diese Leistung zu erbringen, aber wir haben noch einen langen Weg vor uns, um das Beste daraus zu machen.

Sind Sie in der Lage, unser Meta-Design-Problem zu lösen? Kommen Sie zu uns.

Mashups und Integrationen

Die Optimierung der Lieferkette ist ohne Daten nichts. Immer mehr Teile der Lieferkette befinden sich in der Cloud. Apps wie ERP / WMS / OMS sind auch SaaS, genau wie Lokad. Über ihre APIs stellen diese Apps Daten zur Verfügung, die für die Erfüllung der Mission von Lokad entscheidend sind. Daher muss Lokad ein wachsendes Ökosystem von Integrationen unterstützen.

Die Integration von Daten von Drittanbietern kann als reine Verrohrung angesehen werden. Dennoch ist es in der Regel eine Herausforderung, es richtig zu machen. Wir müssen die gesamten historischen Daten auf eine inkrementelle und zuverlässige Weise abrufen. Wir müssen viele Fehlermodi verwalten. Es ist sinnlos, Apps dafür zu beschuldigen, keine 100%ige Verfügbarkeit zu erreichen, das tut niemand. Stattdessen entwickeln wir Strategien, um das Beste aus der uns gewährten Verfügbarkeit zu machen.

Möchten Sie sich mit der Hälfte des B2B-Software-Ökosystems vernetzen? Kommen Sie zu uns.