Software Engineer, SDKs
Posted
Location
San Francisco
Employment Type
Full time
Location Type
On-site
Department
Software
About the company
Efference provides high-performance perception and compute infrastructure for training and deploying robot models in the cloud. Our vision is to make robotic deployments scalable with shared compute.
We approach the problem by owning the entire path from the image sensor to the datacenter GPU. We shrink the load at the sensor, fix the uplink so robot traffic is fast and reliable, and clock synchronize the system so observations arrive time-aligned, ready for inference.
About the role
You'll own the SDKs that let robotics developers use Efference hardware and cloud services. You'll make capture, synchronization, streaming, and inference straightforward to integrate, with clear behavior when devices, networks, or software versions change.
What you’ll do
- Design and implement Python and C++ APIs for device discovery, configuration, synchronized capture, stream access, and remote inference.
- Define consistent contracts for timestamps, calibration, coordinate frames, memory ownership, errors, and connection lifecycle across the SDK.
- Build integrations and working examples for robot middleware, embedded platforms, and ML workflows, keeping examples tested against supported releases.
- Implement async and streaming interfaces with bounded buffering, cancellation, timeouts, and useful diagnostics under load or network interruption.
- Own packaging, compatibility testing, documentation, versioning, and migration paths across host operating systems, architectures, firmware, and cloud APIs.
- Work with solutions engineers and customers to reproduce integration problems and turn recurring workarounds into stable product features.
What we are looking for
- Experience building SDKs, libraries, developer tools, or APIs used by engineers outside your immediate team.
- Strong Python and C++ skills and an understanding of concurrency, resource lifetime, and language boundaries.
- Ability to design interfaces that are easy to use correctly and expose enough information to debug difficult failures.
- Experience with automated compatibility tests, packaging, releases, and documentation that stays aligned with code.
- Comfort working directly with users and balancing API stability against the need to improve the product.
Nice to Have
- Experience with ROS 2, Jetson, camera or sensor SDKs, and robotics model integrations.
- Work with native bindings, zero-copy arrays, streaming RPCs, or low-latency media interfaces.
- Experience maintaining open-source libraries, cross-platform build systems, or hardware-backed CI.