Login Kontakt

Jobs im Software Engineering bei Lokad

Wir wachsen und suchen mehr denn je talentierte Softwareingenieurinnen und Softwareingenieure. Lokad steht vor einer beeindruckenden Bandbreite technischer Herausforderungen. Wenn Ingenieure uns also fragen, was werde ich bei Lokad tun?, können wir die Frage mit was möchten Sie mit uns tun? zurückgeben. Werfen wir einen kurzen Blick auf die wichtigsten Funktionsbereiche der Lokad-Plattform. 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 Sicht eines Ingenieurs)

Supply Chains bleiben verschwenderisch und ineffizient. Wir sprechen von rund 15 % der Weltwirtschaft: Supply Chains sind riesig, und Verbesserungen im zweistelligen Bereich sind weiterhin möglich. Wir wollen Supply Chains auf KI-Autopilot stellen und dabei Leistungen über menschlichem Niveau 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 gegenüber dem Betriebssystem weitgehend agnostisch und arbeiten mit .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 im Joel Test, allerdings mit einigen Abweichungen, die wir für überlegen halten (man darf nicht vergessen, dass dieser Test vor 20 Jahren geschrieben wurde).

Schreiben neue Kandidaten während ihres Interviews Code? Ja, aber wir bitten Kandidaten auch im Voraus, uns ein bemerkenswertes Stück Code ihrer eigenen Wahl zu schicken, das selbstverständlich vom Kandidaten selbst geschrieben wurde. Anschließend verwenden wir einen Teil des Interviews darauf, den Kandidaten anhand dieses Codes herauszufordern.

Machen Sie Usability-Tests auf dem Flur? Das funktioniert sicherlich, wenn man eine Web-App entwickelt. Wenn es jedoch um das Design eines Compilers und einer Deep-Learning-Datenpipeline geht, eher nicht. Dennoch dogfooden wir unsere eigenen Werkzeuge massiv, denn unsere eigenen Supply Chain Scientists sind zufällig die aktivsten Nutzer von Lokad.

Event Sourcing

Sind Sie es leid, CRUD-Apps zu entwickeln, die mit SQL-Datenbanken gekoppelt sind? Falls nicht, sollten Sie es sein. Event Sourcing stellt in praktisch jeder Hinsicht eine überlegene Alternative dar. Es ist leichter zu warten, besser skalierbar 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 darin keine SQL-Datenbanken.

Wenn Sie lernen möchten, wie man Cloud-Apps auf Basis moderner Prinzipien entwickelt, kommen Sie zu uns.

Storage-Layer

Wir haben alle Daten unserer Kunden als eine Art Git-Repository organisiert, mit dem Unterschied, dass einige Kunden Dateien mit bis zu 100 GB pro Datei hochladen. Offensichtlich verwenden wir kein echtes Git-Backend, sondern haben unseren eigenen Storage-Layer auf Basis des Blob Storage von Microsoft Azure entwickelt.

Ein Git-ähnlicher Storage-Layer ist wichtig für Zuverlässigkeit und Reproduzierbarkeit. Das Hochladen gigantischer Flat Files zu Lokad braucht Zeit. Sie möchten Ihre Kunden nicht dem Risiko aussetzen, eine halb geschriebene (oder überschriebenen) Flat File zu verarbeiten. Dank Git-ähnlicher Semantik ist eine Datei entweder vorhanden oder nicht vorhanden; kein unsicherer Dateizustand wird jemals dem Rest von Lokad ausgesetzt.

Wenn Sie Big Data lieben, dann sind Sie hier richtig.

Compiler, Frontend und Backend

Envision ist unsere selbst entwickelte DSL. Sie wird intensiv vom Team der Supply Chain Scientists genutzt. Diese Sprache ist einfach und liefert dennoch enorme Produktivität bei der Bewältigung von Herausforderungen der Supply-Chain-Optimierung. Insgesamt ist Lokad eine Plattform, die dafür ausgelegt ist, Envision-Skripte zu erstellen und auszuführen.

Da sich die gesamte Envision-Codebasis innerhalb der Lokad-Plattform befindet, haben wir die Möglichkeit, bestehende Skripte automatisch umzuschreiben, wenn sich die Sprache weiterentwickelt. Deshalb leben wir nicht ewig mit jedem einzelnen Designfehler, den wir gemacht haben. Wir schreiben um und gehen weiter. Für einen Compiler-Ingenieur bedeutet das die Möglichkeit, in einem unglaublich hohen Tempo zu arbeiten.

Sie haben Hard-Core-Compiler-Skills? Wir brauchen Sie.

Rechengrid

Unser Compiler zielt nicht auf eine Maschine, sondern auf eine Cloud. Envision wurde für großskalige Parallelität entwickelt. Wir haben unser eigenes Rechengrid entwickelt, das Spark in gewisser Weise ähnelt. Durch die Nutzung der Muster in Supply-Chain-Daten erreichen wir jedoch häufig eine 10- bis 100-fache Beschleunigung gegenüber generischen Ansätzen, bei gleichen Rechenressourcen.

Die vollständige Nutzung einer Cloud von Maschinen ist ein Paradigmenwechsel. Verteiltes Rechnen ist schwierig, aber selbst Embedded Systems werden in Zukunft wahrscheinlich verteilte Systeme sein. Wir wollen Lokad auf die größten Supply Chains skalieren, und dafür wird massiv verteiltes Rechnen erforderlich sein.

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

Machine Learning

Prognosen sind ein Grundpfeiler der Supply-Chain-Optimierung. Unsere neueste Prognose-Engine basiert bereits auf differentiable programming, das man als Nachfolger von Deep Learning betrachten kann. Wir verwenden gelegentlich auch die „Klassiker“ des Deep Learning. Unsere Anwendungsfälle sind jedoch radikal anders. Während sich der Großteil der Deep-Learning-Community auf Medien (Bild, Text, Ton) konzentriert, konzentrieren wir uns auf Supply-Chain-Daten.

Deep Learning bei Lokad bedeutet nicht, Daten mit dem neuesten Open-Source-Toolkit des Monats zusammenzukleben. Es geht darum, die Grundlagen des statistischen Lernens neu zu denken, um einer ganzen Branche überlegene Ergebnisse zu liefern. Unsere Herausforderungen bestehen darin, neue Algorithmen zu erfinden und bei Bedarf unsere eigenen Primitives zu entwickeln.

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

Solver und andere Algorithmen

Supply-Chain-Optimierung umfasst, nun ja, ziemlich viele Optimierungsalgorithmen. Die meisten dieser Probleme lassen sich als Integer Programming-Probleme bezeichnen, allerdings sind wir in der Supply Chain routinemäßig mit Situationen mit Millionen von Variablen konfrontiert. Traditionelle Branch-and-Bound-Ansätze sind für solche Situationen eher unzureichend, daher haben wir unsere eigenen spezialisierten Solver entwickelt.

Obwohl unsere Optimierungsfähigkeiten noch im Aufbau sind, gehören leistungsfähige Solver, die unter anderem stochastische Variablen und probabilistische Prognosen verarbeiten können, zu unserer Roadmap. Wir wollen in der Lage sein, auf Probleme mit zig Millionen Variablen und zig Millionen Nebenbedingungen zu skalieren. Das wird notwendig sein, um die Anforderungen der größten Supply Chains zu erfüllen.

Sie mögen harte Algorithmen. Sie glauben, dass Performance ein Feature ist. Wir auch. Kommen Sie zu uns.

Komponierbares Dashboarding

Es ist einfach, ein Dashboard zu entwerfen, das gut aussieht, wenn man die Größe jeder Kachel festlegen kann und Datensätze von Hand so auswählt, dass sie hübsch wirken. Envision ermöglicht es Endnutzern jedoch, Dashboards programmatisch zu erzeugen, die viele Arten von Kacheln enthalten (Diagramme, Tabellen, KPIs usw.) mit beliebigen Größen und Positionen und mit realen Daten, mit all ihren Unsauberkeiten, Ausreißern und Edge Cases, und trotzdem soll es noch gut aussehen.

Haben wir erwähnt, dass unsere Dashboards schnell sind? Sie sind es. Typischerweise werden sie clientseitig in weniger als 500 ms gerendert, selbst bei komplexen Dashboards. Gut aussehende, aber auch praktische Dashboards zu entwickeln, ist schwierig, um es vorsichtig auszudrücken. Wir haben bereits die Infrastruktur geschaffen, um diese Leistung zu liefern, aber es liegt noch ein langer Weg vor uns, um das Potenzial voll auszuschöpfen.

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

Mashups und Integrationen

Supply-Chain-Optimierung ist nichts ohne Daten. Zunehmend lebt die gesamte Supply Chain in der Cloud. Anwendungen wie ERP / WMS / OMS sind ebenso SaaS wie Lokad. Über ihre APIs stellen diese Anwendungen Daten bereit, die für die Erfüllung der Mission von Lokad kritisch sind. Deshalb muss Lokad ein wachsendes Ökosystem von Integrationen unterstützen.

Die Integration von Drittanbieterdaten kann als reine Klempnerarbeit erscheinen. Sie richtig umzusetzen, ist jedoch meist 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 Fehlermodi beherrschen. Es ist sinnlos, Anwendungen vorzuwerfen, dass sie keine 100 % Uptime erreichen, das schafft niemand. Stattdessen entwickeln wir Strategien, um das Beste aus der Verfügbarkeit zu machen, die uns gewährt wird.

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