Robot Client SDK Engineer (human)

Neura Robotics GmbH
München, Germany
2 months ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Job source

Tech stack

Java (Programming Language) Application Programming Interfaces (APIs) C++ (Programming Language) Client Server Models Continuous Integration Java Native Interface Python (Programming Language) Apache Maven Prometheus Software Engineering Systems Integration Management of Software Versions
+7 more
Data Logging Doxygen Backend Sphinx Build Tools Graphql Api Design

Job description

  • Python client SDK: idiomatic wrappers with context managers, async/await variants, IDE completion stubs, pip wheels published to internal PyPI
  • C++ client SDK: RAII channel lifecycle, async, language-idiomatic exception hierarchy, Conan/vcpkg packages
  • Java client SDK: builder patterns for requests, CompletableFuture, Maven Central artifacts
  • Channel lifecycle handling across languages: timeouts, deadline propagation, reconnection logic, TLS/mTLS configuration
  • gRPC status to language-idiomatic exception mapping: hierarchical exception types with semantically meaningful subclasses
  • Client/server version-skew compatibility tables-published policies on client-server version support, automated compatibility tests
  • Semantic versioning aligned with the platform architect, deprecation policy enforcement with linter warnings, migration guides
  • Simulation-mode toggle inside the client: same proto interface, simulation backend for offline app development
  • Observability hooks per language: structured logging, OpenTelemetry tracing context propagation, Prometheus client metrics
  • Reference example applications per language demonstrating canonical patterns: pick-and-place, mode switching, fault recovery, telemetry streaming
  • Auto-generated documentation per language: Sphinx (Python), Doxygen (C++), Javadoc (Java); examples kept in sync with API surface
  • Internal customer onboarding: skill bundles, evaluation harnesses, R&D notebooks, demo apps-all start from your reference template
  • RFC co-review with the Robot Platform Integration Engineer on every proto change

Requirements

Do you have experience in gRPC?, * Developer experience with platform SDKs-has shipped client libraries used by external or internal customers.

  • Proficient in at least two: modern Python (typing, asyncio, pyproject.toml/wheels), modern C++ (17/20, async patterns, build systems), Java (CompletableFuture, Maven build).
  • Hands-on with gRPC ecosystem: protoc, buf, grpc-python, grpc-java, grpc-cpp-has implemented production clients.
  • Multi-language packaging: manylinux pip wheels, Conan or vcpkg recipes, Maven Central publishing-experienced with full CI pipelines.
  • API design fluency: gRPC/REST/GraphQL, semantic versioning, deprecation policy authorship, backwards-compatibility analysis.
  • Documentation tooling: Sphinx, Doxygen, MkDocs; capable of owning end-to-end documentation deliverables.
  • Cross-language async patterns: understands trade-offs among sync, async, and streaming gRPC across languages and their ergonomic differences

Nice to have

  • Familiarity with robotics or industrial control to discuss latency and timing semantics with robot platform engineers
  • Experience writing language bindings for a native library (PyBind11, JNI, SWIG, cppyy)
  • Authored OpenTelemetry instrumentation libraries across multiple languages
  • Working knowledge of ROS 2 client library design (rclpy / rclcpp)
  • Written a developer-portal API reference or SDK tutorial series for external developers

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on indeed.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:52 min

Structuring and scaling the backend engineering team

Stefan Lingler Stefan Lingler +1 · Coffee With Developers

2:52 min

Generating APIs with the Neo4j GraphQL library

William Lyon · LIVE

3:33 min

Generating information-oriented reference documentation directly from source code

Anastasiia Tymoshchuk · WWC 2023

2:37 min

Example technology stack for robotics software development

Falk-Moritz Schaefer · WWC 2022

1:12 min

Choosing TypeScript for complex backend applications

Maximilian Otto Maximilian Otto · WWC 2024

4:33 min

Overview of the GraphQL API query language

William Lyon · LIVE

Videos

See all

Related articles

See all