Software Engineering Jobs bei Lokad

Wir wachsen und stellen mehr denn je talentierte Softwareingenieure ein. Lokad sieht sich mit einer beeindruckenden Reihe technischer Herausforderungen konfrontiert. Daher, wenn uns Ingenieure fragen: „Was werde ich bei Lokad tun?“, können wir die Frage umkehren: „Was möchten Sie mit uns tun?“. Lassen Sie uns einen kurzen Überblick über die wichtigsten funktionalen Bereiche der Lokad-Plattform geben. Falls Sie sich bei Lokad bewerben, teilen Sie uns bitte mit, 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 (die Perspektive eines Ingenieurs)

supply chains bleiben verschwenderisch und ineffizient. Wir sprechen von etwa 15% der weltweiten Wirtschaft: supply chains sind enorm, und zweistellige Verbesserungen sind weiterhin möglich. Wir wollen supply chains in den KI-Autopiloten überführen und dabei Leistungen oberhalb menschlicher Möglichkeiten erzielen.

Die Grundlagen

Unsere Codebasis besteht aus C# / F# / TypeScript / .NET. Wir verwenden Git und Visual Studio. Lokad wird auf Microsoft Azure gehostet. Wir sind größtenteils betriebssystemagnostisch und arbeiten unter .NET Core und Linux. Wir haben Tausende von Unit-Tests und eine robuste End-to-End-Continuous Integration, mit der wir alles mit einem einzigen Klick neu bereitstellen können.

Wir erreichen 12/12 beim Joel Test, allerdings mit einigen Variationen, die wir für überlegen halten (denken Sie daran, dass dieser Test vor 20 Jahren geschrieben wurde).

Schreiben neue Kandidaten Code während ihres Interviews? Ja, aber wir bitten die Kandidaten auch im Vorfeld, uns ein bemerkenswertes Stück Code zuzusenden – selbstverständlich von ihnen selbst verfasst. Anschließend verbringen wir einen Teil des Interviews damit, den Kandidaten zu diesem Codestück herauszufordern.

Machen Sie Flur-Usability-Tests? Das funktioniert sicherlich, wenn Sie eine Web-App entwickeln. Geht es jedoch um das Design eines Compilers und einer Deep-Learning-Datenpipeline, dann leider weniger. Dennoch verwenden wir unsere eigenen Produkte massenhaft, da unsere eigenen Supply Chain Scientists zufällig die aktivsten Nutzer bei Lokad sind.

Event Sourcing

Haben Sie es satt, CRUD-Apps in Verbindung mit SQL-Datenbanken zu entwickeln? Falls nicht, sollten Sie es werden. Event Sourcing stellt in nahezu jeder Hinsicht eine überlegene Alternative dar. Es ist einfacher zu warten, skalierbarer und sicherer. Der Hauptnachteil bleibt die mangelnde Vertrautheit der Software-Community mit diesem Ansatz. Der Kern von Lokad ist vollständig auf Event Sourcing aufgebaut, und wir verwenden keine SQL-Datenbanken darin.

Wenn Sie lernen möchten, wie man Cloud-Apps auf Basis moderner Prinzipien entwickelt, schließen Sie sich uns an.

Speicherebene

Wir haben alle Daten unserer Kunden als eine Art Git-Repository organisiert; nur dass einige Kunden Dateien von bis zu 100GB pro Datei hochladen. Offensichtlich verwenden wir kein echtes Git-Backend, sondern haben unsere eigene Speicherebene auf der Blob Storage von Microsoft Azure entwickelt.

Eine Git-ähnliche Speicherebene ist wichtig für Zuverlässigkeit und Reproduzierbarkeit. Das Hochladen riesiger Flachdateien zu Lokad benötigt Zeit. Sie möchten Ihre Kunden nicht dem Risiko aussetzen, eine halbgeschriebene (oder überschriebene) Flachdatei zu verarbeiten. Dank Git-ähnlicher Semantik ist eine Datei entweder vorhanden oder nicht vorhanden – ein unsicherer Zustand der Datei wird niemals dem Rest von Lokad offengelegt.

Wenn Sie Big Data lieben, dann ist dies der richtige Ort.

Compiler, Frontend und Backend

Envision ist unsere eigene DSL. Sie wird intensiv vom Team der Supply Chain Scientists genutzt. Diese Sprache ist einfach und liefert dennoch eine enorme Produktivität bei der Bewältigung von supply chain optimization Herausforderungen. Insgesamt ist Lokad eine Plattform, die zum Erstellen und Ausführen von Envision-Skripten konzipiert wurde.

Da der gesamte Envision-Code innerhalb der Lokad-Plattform lebt, haben wir die Möglichkeit, bestehende Skripte automatisch umzuschreiben, während sich die Sprache weiterentwickelt. So leben wir nicht ewig mit jedem einzelnen Designfehler, den wir gemacht haben. Wir schreiben um und machen weiter. Für einen Compiler-Ingenieur stellt dies die Chance dar, in einem unglaublich schnellen Tempo zu arbeiten.

Haben Sie umfassende Compiler-Fähigkeiten? Wir brauchen Sie.

Rechennetz

Unser Compiler zielt nicht auf eine einzelne Maschine, sondern auf eine Cloud ab. Envision wurde für groß angelegte Parallelität entwickelt. Wir haben unser eigenes Rechennetz entwickelt, das in gewisser Weise an Spark erinnert. Doch indem wir die Datenmuster von supply chains nutzen, erzielen wir häufig eine Beschleunigung von 10- bis 100-fach im Vergleich zu generischen Ansätzen – bei gleichen Rechenressourcen.

Die volle Ausnutzung einer Cloud von Maschinen ist ein bahnbrechendes Paradigma. Verteiltes Rechnen ist hart, aber selbst eingebettete Systeme werden in Zukunft vermutlich verteilte Systeme sein. Wir möchten, dass Lokad auf die größten supply chains skaliert, und das wird massiv verteiltes Rechnen erfordern.

Vielleicht kennen Sie Spark, aber sind Sie in der Lage, einen besseren Spark zu entwickeln? Wenn ja, schließen Sie sich uns an.

Maschinelles Lernen

Prognosen sind ein Eckpfeiler der supply chain optimization. Unsere neueste Prognose-Engine basiert bereits auf differenzierbarem Programmieren, das als Nachfolger des Deep Learning angesehen werden kann. Wir verwenden gelegentlich die „Klassiker“ des Deep Learning. Allerdings sind unsere Anwendungsfälle grundlegend anders. Während sich der überwiegende Teil der Deep-Learning-Community auf Medien (Bild, Text, Ton) konzentriert, fokussieren wir uns auf supply chain data.

Deep Learning bei Lokad geht nicht um die Datenbearbeitung mit dem neuesten Open-Source-Toolkit des Monats. Es geht darum, die Grundlagen des statistischen Lernens neu zu überdenken, um einer ganzen Branche überlegene Ergebnisse zu liefern. Unsere Herausforderungen bestehen darin, neue Algorithmen zu erfinden und bei Bedarf eigene Primitive zu entwickeln.

Vielleicht kennen Sie TensorFlow, aber sind Sie in der Lage, einen besseren TensorFlow zu entwickeln? Wenn ja, schließen Sie sich uns an.

Solver und andere Algorithmen

Supply chain optimization umfasst, nun ja, ziemlich viele Optimierungsalgorithmen. Die meisten dieser Probleme könnten als Ganzzahlige Programmierung bezeichnet werden, jedoch stehen wir in der supply chain routinemäßig vor Situationen mit Millionen von Variablen. Traditionelle Branch-and-Bound-Verfahren sind etwas unzureichend, um diese Situationen zu bewältigen, weshalb wir unsere eigenen spezialisierten Solver entwickelt haben.

Obwohl unsere Optimierungsfähigkeiten noch in den Kinderschuhen stecken, gehören leistungsstarke Solver, die stochastische Variablen, probabilistische Prognosen und Ähnliches verarbeiten können, zu unserem Fahrplan. Wir möchten Probleme skalieren können, die Dutzende Millionen von Variablen und Dutzende Millionen von Nebenbedingungen umfassen. Dies wird notwendig sein, um den Anforderungen der größten supply chains gerecht zu werden.

Sie mögen anspruchsvolle Algorithmen. Sie denken, dass Leistung ein Feature ist. Wir auch. Schließen Sie sich uns an.

Zusammensetzbare Dashboards

Es ist einfach, ein Dashboard zu entwerfen, das gut aussieht, wenn Sie die Größe jeder Kachel festlegen können und Datensätze handverlesen sind, um ansprechend zu wirken. Allerdings ermöglicht Envision Endnutzerinnen und Endnutzern, Dashboards programmatisch zu erstellen, die viele Arten von Kacheln (Diagramme, Tabellen, KPIs etc.) in beliebigen Größen und an beliebigen Positionen enthalten und reale Daten – mit all ihren Tücken, Ausreißern und Sonderfällen – darstellen und dabei dennoch gut aussehen.

Haben wir erwähnt, dass unsere Dashboards schnell sind? Das sind sie. Sie werden typischerweise auf der Client-Seite in weniger als 500ms gerendert, selbst bei komplexen Dashboards. Ansprechende, aber auch praktische Dashboards zu erstellen, ist gelinde gesagt schwierig. Wir haben bereits die Infrastruktur bereitgestellt, um diese Leistung zu erzielen, aber uns liegt noch ein langer Weg bevor, um das Potenzial voll auszuschöpfen.

Sind Sie in der Lage, unser Meta-Design-Problem zu lösen? Schließen Sie sich uns an.

Mashups und Integrationen

Supply chain optimization ist nichts ohne Daten. Immer mehr lebt die gesamte supply chain in der Cloud. Apps wie ERP / WMS / OMS sind ebenfalls SaaS, genau wie Lokad. Über ihre APIs stellen diese Apps Daten bereit, die entscheidend sind, um Lokad’s Mission zu erfüllen. Daher muss Lokad ein wachsendes Ökosystem von Integrationen unterstützen.

Die Integration von Daten Dritter mag als bloße Rohrleitungsarbeit erscheinen. Doch es richtig zu machen, ist in der Regel eine Herausforderung. Wir müssen die gesamten historischen Daten auf eine Weise abrufen, die sowohl inkrementell als auch zuverlässig ist. Wir müssen viele Ausfallmodi managen. Es ist sinnlos, den Apps die Schuld dafür zu geben, dass sie nicht 100%ige Betriebszeit erreichen – niemand tut das. Stattdessen entwickeln wir Strategien, um das Beste aus der uns gewährten Betriebszeit herauszuholen.

Möchten Sie mit der Hälfte des B2B-Software-Ökosystems netzwerken? Schließen Sie sich uns an.