Software Engineer, Embedded Systems/ Firmware/ IoT, Robotics
Listed on 2026-06-26
-
Software Development
Embedded Systems/ Firmware/ IoT, Robotics, Software Architect, Embedded Software Engineer
Position Summary
We are seeking a Staff Software Engineer to serve as a technical architect across our robotics and autonomous systems stack. This is a senior individual contributor role focused on designing scalable, high-performance software architectures that span embedded firmware, real-time systems, edge compute, and hardware integration. While familiarity with controls and embedded systems is important, this role is not purely controls-focused. Instead, you will define system‑level software architecture for complex electromechanical platforms—including VTOL aircraft, gimbals, and robotic subsystems—ensuring modularity, determinism, performance, and long‑term maintainability across the stack.
You will partner closely with controls engineers, hardware engineers, and systems teams to translate dynamic system requirements into robust software abstractions. You will guide architectural decisions across firmware, middleware, and edge compute layers, and help elevate engineering standards for modern C++ and production‑grade robotics software. This role emphasizes architectural clarity, cross‑disciplinary leadership, and software excellence in robotics environments.
- Define and evolve the software architecture for complex robotics systems spanning firmware, middleware, and edge compute.
- Design modular, scalable abstractions for sensors, actuators, state estimation, and control subsystems.
- Establish patterns for deterministic real‑time behavior across distributed components.
- Guide architecture for embedded firmware interacting with motors, sensors, and hardware peripherals.
- Collaborate with controls engineers to translate system dynamics into clean, testable software layers.
- Ensure predictable performance under tight latency and reliability constraints.
- Partner with mechanical, electrical, avionics, and systems engineers to define software–hardware contracts.
- Lead technical direction during bring‑up, integration, and performance iteration cycles.
- Help structure telemetry pipelines and debugging workflows across embedded and flight systems.
- Establish modern C++ standards for robotics codebases.
- Define testing strategies appropriate for real‑time and hardware‑adjacent systems.
- Improve CI/CD workflows for firmware and robotics software.
- Drive architecture for SIL and HIL environments.
- Define strategies for system‑level testing, observability, and performance analysis.
- Ensure long‑term maintainability and evolvability of control‑adjacent software.
- Serve as a senior technical authority across robotics software initiatives.
- Balance performance, safety, and maintainability in production systems.
- Mentor engineers and raise the architectural bar across the organization.
- Other duties as assigned.
- 7+ years building software for robotics, autonomous systems, aerospace, or embedded platforms.
- Experience shipping production robotics or embedded systems products.
- Proven ability to design and evolve software architectures across embedded and distributed systems.
- Experience defining clean hardware–software interfaces.
- Strong understanding of real‑time constraints and deterministic system design.
- Deep knowledge of modern C++ (14/17/20).
- Experience with memory management, concurrency models, and performance‑critical systems.
- Ability to establish coding standards and architectural patterns for embedded codebases.
- Hands‑on experience with microcontrollers (ARM Cortex‑M, STM
32, etc.). - Familiarity with RTOS environments (FreeRTOS, Zephyr, or similar).
- Working knowledge of low‑level drivers and hardware interfaces (SPI, I2C, UART, CAN).
- Solid understanding of kinematics, coordinate frames, and sensor integration.
- Exposure to control systems, sensor fusion, or motion control concepts (not necessarily as a primary controls engineer).
- Familiarity with telemetry, diagnostics, and system performance metrics.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).