Robot Client SDK Engineer (Mensch)
Deine Mission & Challenges
protoc + buf Toolchain fur Client-seitige Code-Generierung; CI-Pipelines generieren Clients bei jeder Proto-Anderung neu
Python Client SDK: idiomatische Wrapper mit Context Managern, Async/Await-Varianten, IDE-Autocomplete-Stubs, pip Wheels furs interne PyPI
C++ Client SDK: RAII Channel Lifecycle, Async, sprachtypische Exception-Hierarchie, Conan/vcpkg Packages
Java Client SDK: Builder-Patterns fur Requests, CompletableFuture, Maven Central Artifacts
Channel Lifecycle Handling uber 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 Versionskompatibilitat, automatische Kompatibilitatstests
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 fur 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 fur 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-Anderung
Auf was konnen wir uns freuen
Erfahrung mit Developer Experience fur Plattform-SDKs - hat Client-Libraries fur 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-Okosystem: 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 Verstandnis: gRPC/REST/GraphQL, Semantic Versioning, Deprecation-Strategien, Backwards-Compatibility
Erfahrung mit Doku-Tools: Sphinx, Doxygen, MkDocs - End-to-End Ownership der Dokumentation
Verstandnis von Async-Patterns uber Sprachen hinweg: Sync vs Async vs Streaming gRPC und deren Unterschiede in der Nutzung
Nice to have
Verstandnis von Robotik oder Industrial Control, um uber Latenz- und Timing-Themen mit Platform Engineers zu sprechen
Erfahrung mit Language Bindings fur native Libraries (PyBind11, JNI, SWIG, cppyy)
OpenTelemetry Instrumentation Libraries in mehreren Sprachen umgesetzt
Grundverstandnis von ROS 2 Client Libraries (rclpy / rclcpp)
Developer-Portals, API-Docs oder SDK-Tutorials fur externe Entwickler erstellt