Chainguard
Constructor Labs
Principal Software Architect — Quantum Platform
Über die Stelle
Standort: Remote innerhalb Europas, mit regelmäßiger Präsenz in Bremen
Direkte Unterstellte: Anfangs keine; technische Führungsgruppe über die gesamte Ingenieursgruppe
Mission
Verantwortlich für die Architektur der Softwareplattform, auf der die Quantengruppe von Constructor Labs aufbaut. Die Plattform steuert die physische Quantenhardware End-to-End — Kalibrierung, Orchestrierung, Ausführung von Experimenten und Gerätezustand — und muss sowohl in unserer eigenen Cloud als auch beim Kunden vor Ort funktionieren, einschließlich eingeschränkter und isolierter Umgebungen. Der Principal Architect legt die technische Richtung fest, trifft die strukturellen Entscheidungen und ist die leitende Ingenieursstimme in einer Gruppe, in der Forschung und Entwicklung eng zusammenarbeiten.
Was diese Rolle ist (und nicht ist)
Diese Rolle IST
- Tiefgreifend hands-on, mit echter Autorität über die technische Richtung.
- Zentral für alles, was die Quantengruppe baut.
- Eine Rolle, in der Sie Kollegen und eine Plattform hinter sich haben werden.
Diese Rolle ist NICHT
- Eine Management-Track-Rolle.
- Eine Position in einem Architekturkomitee oder eine reine Beratungsfunktion.
- Eine Rolle, in der jemand anderes den schwierigen Code schreibt.
Aufgaben
Säule 1 Plattformarchitektur
- Verantwortlich für die End-to-End-Architektur über backend-Dienste, Job-Orchestrierung, Hardware-Abstraktion und Gerätezustandsverwaltung.
- Definition der Schnittstellen zwischen der wissenschaftlichen und der Plattformschicht, damit Physiker ohne technische Unterstützung arbeiten können.
- Treffen und Umsetzen von Build-versus-Buy- und Framework-Entscheidungen; Dokumentation, damit diese auch nach dem Ausscheiden der Ersteller Bestand haben.
- Leitung der Migration der Plattform auf den Constructor Technologie-Stack.
- Erfolgsmetriken und KPIs: dokumentierte und übernommene Architekturentscheidungen, Plattformstabilität, planmäßige Migration.
Säule 2 Hands-on Engineering
- Schreiben von Produktionscode im Kern des Systems, nicht nur von Design-Dokumenten.
- Persönliche Verantwortung für die schwierigsten Komponenten – diejenigen, bei denen Korrektheit und Leistung gleichermaßen wichtig sind.
- Festlegen und Durchsetzen von Engineering-Standards: Testing, Code-Reviews, strukturiertes Logging, Abhängigkeitsmanagement.
- Beseitigung von Single Points of Failure, sodass keine Komponente nur von einer Person verstanden wird.
- Erfolgsmetriken und KPIs: Testabdeckung, Review-Disziplin, Bus-Faktor über eins bei jeder Kernkomponente.
Säule 3 Zusammenarbeit mit der Forschung
- Tägliche Zusammenarbeit mit Forschungsphysikern, Übersetzung von experimentellen Arbeitsabläufen in Software.
- Aufrechterhaltung des Kooperationsmodells zwischen Forschung und Entwicklung beim Wachstum der Gruppe.
- Unterstützung der Produktfunktion mit realistischen Schätzungen und ehrlichen technischen Einschränkungen.
- Verantwortlichkeit: Forschungsteam kann Experimente ohne technische Engpässe durchführen.
Anforderungen
Erfahrung
- 10+ Jahre Erfahrung im Aufbau von Produktionssoftwaresystemen, mit tiefgehender Kenntnis von Python, C#/.NET oder C++.
- Verteilte Systeme, Job-Scheduling und Schnittstellen zu Instrumenten oder physischer Hardware.
- Nachgewiesene Erfolgsbilanz als leitende technische Stimme in einem kleinen Team.
- Bereitstellung von Software für On-Premise- und eingeschränkte Umgebungen, nicht nur für die Cloud.
Fähigkeiten & Kompetenzen
- Fähigkeit, eine Architektur im Kopf zu behalten und sie einfach für Nicht-Ingenieure zu erklären.
- Komfort in einem wissenschaftlichen Umfeld. Ein Physikstudium ist nicht erforderlich, echtes Interesse schon.
- Pragmatisch in Bezug auf Kompromisse; in der Lage zu liefern statt zu perfektionieren.
- Starke schriftliche Kommunikationsfähigkeiten. Nicht niedergeschriebene Entscheidungen existieren nicht.
Ausbildung & Sprachen
- Abschluss in Informatik, Physik, Ingenieurwesen oder eine vergleichbare praktische Erfolgsbilanz.
- Fließendes Englisch. Deutsch nützlich, aber nicht erforderlich.
