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
German

Job 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

Apply for this position