Software Engineer - ML

Software Engineer - ML

Zürich Vollzeit 55000 - 70000 € / Jahr (geschätzt) Kein Homeoffice möglich
F

Auf einen Blick

  • Aufgaben: Entwickle und betreibe Trainingsinfrastruktur für humanoide Roboter mit modernster Technologie.
  • Unternehmen: Flexion, ein innovatives Unternehmen im Bereich Robotik mit einem dynamischen Team.
  • Vorteile: Wettbewerbsfähiges Gehalt, spannende Projekte und ein kreatives Arbeitsumfeld.
  • Weitere Informationen: Exzellente Karrierechancen in einem schnell wachsenden Unternehmen.
  • Warum dieser Job: Sei Teil der Zukunft der Robotik und arbeite an bahnbrechenden Technologien.
  • Qualifikationen: Mindestens 3 Jahre Erfahrung in der Infrastruktur für Deep Learning Systeme.

Das prognostizierte Gehalt liegt zwischen 55000 - 70000 € pro Jahr.

Über Flexion

Bei Flexion entwickeln wir die Intelligenzschicht, die die nächste Generation humanoider Roboter antreibt. Unsere Mission ist es, den Übergang von fragilen Prototypen zur realen Bereitstellung humanoider Roboter zu beschleunigen. Wir wurden von führenden Wissenschaftlern im Bereich Robotik und Verstärkungslernen (ehemals Nvidia, ehemals ETH Zürich) gegründet und von führenden internationalen VC-Firmen unterstützt. In nur wenigen Monaten haben wir von unserem ersten Code bis zur Bereitstellung echter humanoider Fähigkeiten Fortschritte gemacht.

Die Rolle

Als ML Infrastructure Engineer bei Flexion werden Sie uns helfen, unsere Kern-Compute- und Datenplattformen auszubauen. Wir bauen das Gehirn für humanoide Roboter, was das Training großangelegter Grundmodelle mit riesigen Datenmengen umfasst. Sie entwerfen Trainingscluster, architektonisieren die Pipelines, die Daten von Simulatoren und Robotern in das Modelltraining übertragen, und erstellen die Werkzeuge, die unseren KI-Ingenieuren ermöglichen, schnell zu trainieren, zu bewerten und zu iterieren.

Sie werden Teil des erfahrenen Infrastrukturteams von Flexion (ehemals Google, Meta, Amazon) und übernehmen eine bedeutende Verantwortung für die Systeme hinter unserer Datensammlung, dem Training und den Experimentierabläufen: von strategischen Infrastrukturentscheidungen, Cluster-Orchestrierung und Optimierung des verteilten Trainings bis hin zu Datenplattformen, CI und Experimentierwerkzeugen. Dies ist eine Senior-Position vor Ort in unserem Büro in Zürich.

Hauptverantwortlichkeiten

  • Aufbau und Betrieb der Trainingsinfrastruktur: Entwurf, Bereitstellung und Wartung von GPU-Compute-Clustern für das großangelegte Modelltraining über mehrere Cloud-Anbieter hinweg, einschließlich Job-Scheduling (Slurm, Kubernetes).
  • Architektur von Datenplattformen und -pipelines: Aufbau der Speicher-, Verarbeitungs- und Servierschichten, die den gesamten Datenlebenszyklus abdecken: von Simulatorausgaben und Robotertelmetrie bis hin zu Trainingsdatensätzen. Dazu gehört der Aufbau von Infrastrukturen mit Objektspeichern (S3), parallelen Dateisystemen (Lustre) und gängigen Datenformaten (Parquet, WebDataset, LeRobot). Verwendung verteilter Verarbeitungsframeworks (Ray, Spark) zur Transformation und Validierung von Daten im großen Maßstab.
  • Optimierung des verteilten Trainings: Zusammenarbeit mit unseren KI-Ingenieuren zur Skalierung von Arbeitslasten über Multi-Node-GPU-Cluster, Profilierung und Verbesserung des Durchsatzes, der Geräteauslastung und der Kommunikationseffizienz. Dazu gehört die Optimierung unseres verteilten IsaacLab-basierten Sim-to-Real-Trainings.
  • Bewertung und Annahme neuer Plattformen: Vergleich von Cloud-Anbietern, GPU-aaS-Plattformen und aufkommenden Werkzeugen, wobei Sie die Entscheidungen darüber treffen, was wir annehmen, während wir unseren Compute-Fußabdruck erweitern.

Qualifikationen

  • Über 3 Jahre Berufserfahrung im Aufbau und Betrieb von Infrastrukturen für großangelegte Deep-Learning-Systeme.
  • Praktische Erfahrung im Training oder in der Unterstützung des Trainings großer Modelle (Milliarden von Parametern) in verteilten Multi-Node-GPU-Setups sowie ein tiefes Verständnis der zugrunde liegenden Konzepte (DDP, FSDP, NCCL).
  • Starke Erfahrung mit mindestens einer großen Cloud-Plattform (AWS oder GCP), einschließlich Compute-Bereitstellung und Netzwerk.
  • Erfahrung mit Job-Scheduling- und Orchestrierungstools: Slurm, Kubernetes oder beides.
  • Erfahrung im Aufbau von Datenpipelines und im Management von großangelegtem Speicher – einschließlich Objektspeichern (S3 oder gleichwertig) und Vertrautheit mit Hochleistungs- oder parallelen Dateisystemen (z.B. Lustre).
  • Kenntnisse in Python und praktische Kenntnisse von PyTorch.
  • Eigenverantwortliche Denkweise: Komfort beim Treffen architektonischer Entscheidungen, Setzen von Richtungen und eigenständigem Arbeiten in einem dynamischen Umfeld.

Wünschenswert

  • Erfahrung mit verteilten Datenverarbeitungsframeworks (Ray, Spark).
  • Vertrautheit mit gängigen Datenformaten (Parquet, WebDataset, LeRobot).
  • Erfahrung mit zusätzlichen GPU-Cloud-Anbietern (Lambda Labs, CoreWeave, RunPod, Nebius oder ähnliches).
  • Erfahrung im Management von On-Premise-Compute-Infrastrukturen.
  • Vertrautheit mit Robotersimulationsumgebungen (IsaacLab, IsaacGym, MuJoCo).
  • Erfahrung mit Infrastruktur-als-Code und Konfigurationsmanagement (Terraform, Ansible).
  • Vertrautheit mit Experimentverfolgungsplattformen (Weights & Biases, MLflow).
  • Erfahrung mit GPU-Programmierung und -Profilierung (CUDA, Nsight).

Vorteile

  • Wettbewerbsfähiges Vergütungspaket.
  • Ein Platz in der ersten Reihe eines der ehrgeizigsten Robotikunternehmen Europas.
  • Ein energiegeladenes, kollaboratives Team mit einer Neigung zum Handeln.

Software Engineer - ML Arbeitgeber: Flexion

Flexion ist ein herausragender Arbeitgeber, der seinen Mitarbeitern die Möglichkeit bietet, an der Spitze der Robotiktechnologie zu arbeiten. Mit einem wettbewerbsfähigen Vergütungspaket und einem dynamischen, kollaborativen Team in Zürich fördern wir eine Kultur des Handelns und der Innovation. Unsere Mitarbeiter profitieren von umfangreichen Wachstumschancen und der Möglichkeit, bedeutende Beiträge zur Entwicklung humanoider Roboter zu leisten.

F

Kontaktdaten:

Flexion Recruiting-Team

StudySmarter Expertenrat🤫

Wir sind der Meinung, dass Sie so Software Engineer - ML erhalten könnten

Engagier dich in Entwickler-Communities!

Lass uns mal ehrlich sein: In der Software-Entwicklung sind Netzwerke Gold wert! Tummel dich in GitHub-Projekten, nehme an lokalen Meetups oder Hackathons teil und vernetze dich mit anderen Entwicklern. So steigerst du nicht nur deine Sichtbarkeit, sondern lernst auch die neuesten Trends und Technologien kennen.

Zeig deine Fähigkeiten!

Erstelle ein Portfolio, das deine besten Projekte und Code-Examples zeigt. Nichts überzeugt mehr als ein praktischer Beweis deiner Skills. Das kann auch helfen, bei Flexion anzuklopfen, wenn du dich auf die Stelle als Software Engineer - ML bewirbst – so wissen sie gleich, was sie von dir erwarten können!

Nutze Jobplattformen speziell für Tech-Jobs!

Plattformen wie Stack Overflow Jobs oder AngelsList sind perfekte Orte, um Vollzeitstellen in der Software-Entwicklung zu finden. Hier sind viele tolle Unternehmen auf der Suche nach Talenten wie uns, also schau regelmäßig vorbei und bewirb dich direkt über die Website.

Such dir Mentoren und Feedback!

Hol dir Feedback von erfahrenen Entwicklern, die dir Tipps geben können, was Recruiter wirklich suchen. Ob über LinkedIn oder persönliche Kontakte: Menschen, die sich in der Branche auskennen, können enorm wertvoll sein, um dir zu helfen, dich optimal auf deine Bewerbung bei Flexion vorzubereiten!

Wir glauben, dass du diese Fähigkeiten brauchst, um Software Engineer - ML mit Bravour zu bestehen

GPU-Compute-Cluster-Design
Job-Scheduling (Slurm, Kubernetes)
Data-Pipeline-Architektur
Objektspeicher (S3)
Parallel-Dateisysteme (Lustre)
Distributed-Processing-Frameworks (Ray, Spark)
Optimierung von verteiltem Training

Einige Tipps für deine Bewerbung 🫡

Highlights deiner Coding-Skills:In der Software-Entwicklung kommt es auf konkrete Fähigkeiten an. Vergiss nicht, relevante Programmiersprachen und Frameworks in deinen Lebenslauf aufzunehmen. Zeig uns, was du kannst – vielleicht mit einem Link zu deinem GitHub-Profil oder einer Übersicht deiner Side Projects, die deine Programmierkenntnisse illustrieren.

Dokumentation deiner Erfolge:Gerade bei einer Vollzeitstelle in der Software-Entwicklung sind konkrete Ergebnisse Gold wert. Nenn uns Zahlen und Ergebnisse aus deinen vorherigen Projekten. Hast du den Code optimiert oder Systemfehler behoben? Solche Erfolge zeigen, dass du die Sprache der Entwickler sprichst und einen echten Mehrwert bringst.

Attraktive Projektbeschreibungen:Wenn du an Projekten gearbeitet hast, die hervorstechen, beschreibe sie ausführlich in deinem Lebenslauf. Was war das Problem, das du gelöst hast? Welche Technologien hast du eingesetzt? Das gibt uns einen klaren Einblick in deine Herangehensweise und Problemlösungsfähigkeiten.

Motivation zeigen:In deinem Anschreiben solltest du deine Motivation für die Stelle im Bereich Software-Entwicklung bei Flexion klar herausstellen. Warum sprichst gerade du die Anforderungen für diese Vollzeitrolle an? Mach deutlich, was dich an der Arbeit bei uns reizt und wie du über das rein Technische hinaus wachsen möchtest.

Wie man sich auf ein Vorstellungsgespräch bei Flexion vorbereitet

Technische Vorbereitung auf die Coding-Challenges

In der Software-Entwicklung sind technische Fragen oft ein zentraler Teil des Interviews. Macht euch mit Plattformen wie LeetCode oder HackerRank vertraut, um eure Problemlösungsfähigkeiten zu trainieren. Zeigt im Interview viel Selbstbewusstsein beim Erklären eurer Ansätze!

Das eigene Portfolio im besten Licht präsentieren

Stellt sicher, dass ihr ein aussagekräftiges Portfolio habt, das einige eurer besten Projekte zeigt. Seid bereit, darüber zu sprechen, was eure Rolle war, welche Technologien ihr verwendet habt und welche Herausforderungen es gab. Das gibt den Interviewern einen Einblick in eure praktische Erfahrung.

Teamfähigkeit und Kommunikation betonen

In einer Vollzeit-Position wird Kommunikation im Team sehr wichtig sein. Seid bereit, Beispiele aus der Vergangenheit zu teilen, in denen ihr effektiv im Team gearbeitet habt. Dies zeigt, dass ihr nicht nur technische Fähigkeiten habt, sondern auch gut ins Team passt.

Vorbereitung auf Fragen zur Software-Architektur

Bereitet euch darauf vor, Fragen zur Software-Architektur zu beantworten. Themen wie RESTful APIs, Microservices und Cloud-Architekturen können Teil eures Interviews sein. Zeigt euer Verständnis durch Diskussionen und Beispiele aus eurer bisherigen Arbeit oder Projekte.