Robot Client SDK Engineer (Mensch)
Neura Robotics GmbH
Metzingen, Germany
yesterday
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
GermanJob location
Metzingen, Germany
Tech stack
Java
API
C++
Client Server Models
Sync (Unix)
Python
Maven
Prometheus
Data Streaming
Management of Software Versions
Data Logging
Doxygen
Backend
Sphinx
Laptops
GraphQL
Api Design
gRPC
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