Backend-Entwickler mit Sicherheitsfreigabe
Wir suchen einen Nachwuchsingenieur mit fundierten Softwarekenntnissen und einer ambitionierten, experimentierfreudigen Denkweise. Dies ist eine spannende Gelegenheit, in einem entscheidenden Moment Teil unseres Engineering-Teams zu werden – wir sind ein kleines Team innerhalb eines schnell wachsenden Unternehmens, daher trägt jeder Einzelne dazu bei, die Engineering-Kultur, -Praktiken und -Grundlagen des Unternehmens im Zuge unseres Wachstums mitzugestalten.
Sie entwerfen und entwickeln die verteilten Systeme, die Speicherinfrastruktur und die Plattformbausteine, die dem Sensorintegrationsprodukt des Unternehmens zugrunde liegen. Dabei decken Sie die gesamte Backend-Oberfläche ab – von der Streamverarbeitung und -speicherung über das API-Design und die Datenpipelines bis hin zur Servicearchitektur. Die Entwicklung erfolgt in Rust mit Python an den Schnittstellen der Plattform-API. Sie treffen wichtige Architekturentscheidungen und entwickeln Systeme, die auf Petabyte-große Datenspeicherung skalieren. Auch in unbekannten Problemfeldern und unter realen Randbedingungen argumentieren Sie klar und präzise.
Kernkompetenzen
- Kerntechnologien: Rust, mit Python an einigen API-Grenzen. Kafka, PostgreSQL/TimescaleDB/PostGIS, gRPC/Protobuf und Kubernetes.
Von den Kandidaten wird keine Erfahrung mit all diesen Bereichen erwartet, aber ein grundlegendes Verständnis ist unerlässlich.
- Systemisches Denken: Souveränes Entwerfen und Betreiben von Produktionssystemen unter realen Einschränkungen – Migrationen ohne Ausfallzeiten, komplexe Abwägungsanalysen und pragmatische Entscheidungsfindung, die die Zuverlässigkeit der Dienste bei sich ändernden Anforderungen gewährleistet.
- Softwareentwicklung: Schreibt sauberen, gut strukturierten Code unter sinnvoller Nutzung von Abstraktionen, Namensräumen und Schnittstellen. Hat eine klare Meinung zu Code-Review-Prozessen und -Kultur.
- Argumentation unter Unsicherheit: Kann sich in unbekannte Systeme einarbeiten und fundierte architektonische Entscheidungen treffen, ohne ein vollständiges Bild zu haben.
- KI-gestützte Entwicklung: Vertraut mit LLM-gestützten Arbeitsabläufen und sicher im Umgang mit KI-Tools, um qualitativ hochwertige Ergebnisse zu erzielen, sowie im Wissen, welche Probleme besser von Menschen gelöst werden.
- Zusammenarbeit: Erfahrung oder Bereitschaft zur teamübergreifenden Kommunikation; Fähigkeit, selbstständig Kontext zu erfassen und Funktionen mit begrenzter Top-Down-Anweisung zu entwickeln.
Kenntnisse erforderlich
- Erfahrung mit Rust
- Erfahrung mit Python (API-Grenzen)
- Erfahrungen mit Kafka
- Erfahrung mit PostgreSQL / TimescaleDB / PostGIS
- Erfahrung mit gRPC und Protobuf
- Erfahrung mit Kubernetes
- Systemisches Denken; Entwurf und Betrieb von Produktionssystemen unter Randbedingungen
- Solide Softwareentwicklung: sauberer, gut strukturierter Code und gesunde Code-Review-Praktiken
- Fähigkeit, unter Unsicherheit logisch zu denken und architektonische Entscheidungen zu treffen.
- Vertrautheit mit LLM / KI-gestützten Entwicklungsabläufen
- Zusammenarbeit und teamübergreifende Kommunikation; Fähigkeit, mit begrenzter Top-Down-Anweisung zu arbeiten.
- Vorkenntnisse im Umgang mit groß angelegten Dateninfrastrukturen (verteilter Speicher, Sharding, Hochdurchsatz-Pipelines)
Wünschenswert
- Vorkenntnisse im Umgang mit großflächigen Dateninfrastrukturen, z. B. verteiltem Speicher, Sharded Databases und High-Throughput-Pipelines, sind erforderlich. Von Vorteil sind außerdem Erfahrung im Eigenbau solcher Infrastrukturen oder mit den dafür notwendigen Grundlagen, wie z. B. Sharding-Bibliotheken, Consistent Hashing, datenparalleler Datenflussberechnung usw.