Robot Client SDK Engineer (Mensch)
Role details
Job location
Tech stack
Job description
- protoc + buf Toolchain für Client-seitige Code-Generierung; CI-Pipelines generieren Clients bei jeder Proto-Änderung neu
- Python Client SDK: idiomatische Wrapper mit Context Managern, Async/Await-Varianten, IDE-Autocomplete-Stubs, pip Wheels fürs interne PyPI
- C++ Client SDK: RAII Channel Lifecycle, Async, sprachtypische Exception-Hierarchie, Conan/vcpkg Packages
- Java Client SDK: Builder-Patterns für Requests, CompletableFuture, Maven Central Artifacts
- Channel Lifecycle Handling über alle Sprachen hinweg: Timeouts, Deadline-Propagation, Reconnect-Logik, TLS/mTLS Konfiguration
- Mapping von gRPC Status auf sprachtypische Exceptions: hierarchische Exception-Typen mit semantisch sinnvollen Subklassen
- Client/Server Version-Skew Compatibility Tables - definierte Policies zur Versionskompatibilität, automatische Kompatibilitätstests
- Semantic Versioning abgestimmt mit dem Platform Architect, Durchsetzung von Deprecation-Policies via Linter-Warnings, Migration Guides
- Simulation-Mode im Client: gleiche Proto-Schnittstelle, aber Simulation-Backend für Offline-Entwicklung
- Observability Hooks pro Sprache: strukturiertes Logging, OpenTelemetry Tracing Context, Prometheus Metrics
- Referenz-Beispiel-Apps pro Sprache mit Best Practices: Pick-and-Place, Mode Switching, Fault Recovery, Telemetrie-Streaming
- Automatisch generierte Doku pro Sprache: Sphinx (Python), Doxygen (C++), Javadoc (Java); Beispiele immer synchron zur API
- Onboarding für interne Nutzer: Skill Bundles, Evaluierungs-Frameworks, R&D Notebooks, Demo-Apps - alles basierend auf deinen Templates
- RFC-Co-Review mit dem Robot Platform Integration Engineer bei jeder Proto-Änderung
Requirements
- Erfahrung mit Developer Experience für Plattform-SDKs - hat Client-Libraries für interne oder externe Nutzer gebaut und ausgeliefert
- Fit in mindestens zwei der folgenden: modernes Python (Typing, asyncio, pyproject/wheels), modernes C++ (17/20, Async, Build-Systeme), Java (CompletableFuture, Maven)
- Hands-on im gRPC-Ökosystem: protoc, buf, grpc-python, grpc-java, grpc-cpp - Erfahrung mit produktiven Clients
- Multi-Language Packaging: manylinux Wheels, Conan/vcpkg, Maven Central - inkl. kompletter CI-Pipelines
- API-Design Verständnis: gRPC/REST/GraphQL, Semantic Versioning, Deprecation-Strategien, Backwards-Compatibility
- Erfahrung mit Doku-Tools: Sphinx, Doxygen, MkDocs - End-to-End Ownership der Dokumentation
- Verständnis von Async-Patterns über Sprachen hinweg: Sync vs Async vs Streaming gRPC und deren Unterschiede in der Nutzung
Nice to have
- Verständnis von Robotik oder Industrial Control, um über Latenz- und Timing-Themen mit Platform Engineers zu sprechen
- Erfahrung mit Language Bindings für native Libraries (PyBind11, JNI, SWIG, cppyy)
- OpenTelemetry Instrumentation Libraries in mehreren Sprachen umgesetzt
- Grundverständnis von ROS 2 Client Libraries (rclpy / rclcpp)
- Developer-Portals, API-Docs oder SDK-Tutorials für externe Entwickler erstellt
Benefits & conditions
Im Software Department gestaltest du Robotik-Lösungen, die die Zusammenarbeit von Mensch und Maschine neu definieren. Du arbeitest mit modernster Technologie und setzt Standards, die die Branche verändern. Dabei entwickelst du nicht nur unsere Lösungen mit, sondern setzt neue Trends und treibst Innovationen voran. In einem agilen und interdisziplinären Team arbeitest du an spannenden Projekten. Mit klaren Scrum-Prozessen wie Daily Stand-ups, Sprint-Planungen und Reviews bleibst du flexibel und effizient. Die enge Zusammenarbeit mit anderen Fachbereichen ermöglicht es dir, Softwarelösungen zu entwickeln, die nicht nur technisch, sondern auch praktisch überzeugen. Hier findest du eine Umgebung, in der Kreativität und technologische Exzellenz Hand in Hand gehen. Wenn du Ideen Realität werden lassen möchtest und Spaß daran hast, Technologien auf ein neues Level zu bringen, wartet im Software Development Team bei NEURA genau die richtige Herausforderung auf dich. Vollzeit