Description
Shield AI is seeking a Senior Staff C++ Software Engineer, Edge Systems to define and build the software foundations that power autonomous systems operating in demanding real-world environments.
As a Senior Staff Engineer, you will provide technical leadership across the Edge Systems domain. You will shape architecture and long-term technical direction across multiple teams and products, lead the resolution of complex cross-cutting problems, and establish engineering approaches that improve the effectiveness of the broader organisation.
This is a hands-on technical leadership role. You will continue to design, write, review, test, and debug production software, while focusing your individual contribution on the organisation’s highest-risk and highest-leverage technical problems.
You will develop modern C++ software for Linux-based edge compute platforms, including NVIDIA Jetson-class and ARM64 systems. Your work will span sensor integration, imaging pipelines, calibration, diagnostics, deployment, developer tooling, and mission-critical applications that demand high performance, reliability, and maintainability.
Responsibilities:
- Technical Leadership:
- Own and evolve the technical direction of significant edge software capabilities spanning edge compute, imaging, sensor integration, and mission systems.
- Define architecture and technical strategy across multiple projects, products, and engineering teams.
- Lead the resolution of complex, ambiguous, or cross-cutting technical problems where ownership spans organisational boundaries.
- Establish reusable platform capabilities, interfaces, standards, and engineering practices adopted by multiple teams.
- Provide technical leadership for major design decisions, including their trade-offs, risks, migration strategies, and long-term consequences.
- Identify systemic technical risks and drive coordinated action before they materially affect delivery or product reliability.
- Mentor senior engineers and develop other technical leaders, increasing the capability and autonomy of the wider organisation.
- Partner with engineering, systems, autonomy, AI, product, and program leadership to translate business and product direction into sustainable technical roadmaps.
- Balance long-term platform investment, technical debt, operational risk, and near-term product delivery.
- Communicate complex technical decisions, strategy, and risks clearly to both engineering and non-engineering stakeholders.
- Software Engineering:
- Design, develop, test, and maintain production C++ software for edge systems, imaging systems, mission applications, developer tooling, diagnostics, and automated testing.
- Build user-space Linux applications for NVIDIA Jetson, ARM64, and other edge compute platforms connected to cameras, sensors, and mission systems.
- Integrate RGB, NIR, and thermal cameras alongside GPS, IMU, and other sensors using operating system APIs, middleware, vendor SDKs, and hardware-facing interfaces.
- Develop calibration, synchronisation, data capture, observability, diagnostics, inspection, and configuration tools for complex sensor systems.
- Optimise software for latency, throughput, reliability, power utilisation, and thermal performance on constrained edge compute platforms.
- Debug challenging issues spanning application software, Linux, networking, hardware interfaces, timing, deployment, and system integration.
- Own technical outcomes for complex, cross-team initiatives from ambiguous problem framing through architecture, implementation, integration, verification, deployment, and sustained operation.
- Collaborate across systems, hardware, AI, autonomy, product, and test teams to deliver integrated capability.
Requirements:
- Degree in Computer Science, Software Engineering, Electrical Engineering, Robotics, or a related discipline, or equivalent industry experience.
- Extensive industry experience developing modern C++ software for Linux.
- Demonstrated experience developing user-space applications that interface with cameras, sensors, networking, GPUs, storage, or other hardware through operating system APIs, middleware, or vendor SDKs.
- Deep practical experience developing, profiling, and debugging software on Linux.
- Experience deploying complex C++ software to Linux-based edge compute platforms such as NVIDIA Jetson or comparable ARM64 systems.
- Strong software engineering fundamentals, including concurrency, interface design, memory management, data structures, algorithms, testing, and version control.
- Proven ability to diagnose complex issues across software, Linux, networking, timing, hardware integration, and deployment boundaries.
- Experience owning complex technical work from incomplete requirements through design, implementation, integration, verification, deployment, and support.
- Excellent communication and collaboration skills across multidisciplinary engineering teams.
Preferred Qualifications:
- Runtime-critical, multi-threaded, or performance-sensitive C++ software.
- High-throughput imaging or sensor-processing pipelines, including camera integration, ISP tuning, GStreamer, FFmpeg, OpenCV, or similar technologies.
- Hardware-accelerated processing on edge compute platforms, including NVIDIA Jetson, CUDA, GPU compute, embedded AI accelerators, or accelerated video processing.
- Integration of RGB, NIR, and thermal cameras, GPS, IMU, GPUs, or comparable peripheral hardware.
- Robotics, aerospace, defence, autonomy, unmanned systems, automotive, or other mission-critical domains.
- Systems architecture, interface design, software decomposition, reliability, maintainability, and testability.
- Low-level Linux, vendor SDKs, driver-adjacent debugging, NixOS, edge AI inference, containerisation, or application deployment tooling.
- Automated testing, simulation, software-in-the-loop, or hardware-in-the-loop environments.