Senior/Staff Engineer, C++ Software - Edge Systems (R5191)
About the role
Job Description
What you'll do
- Technical Leadership
- Lead the technical direction of significant edge software capabilities spanning edge compute, imaging, sensor integration, and mission systems.
- Influence software architecture across multiple projects and engineering teams.
- Drive engineering excellence through design reviews, technical standards, and pragmatic engineering practices.
- Mentor and coach engineers, helping raise the technical capability of the wider organisation.
- Partner with systems, autonomy, AI, and product teams to translate long-term capability into engineering roadmaps.
- Identify technical risks early and guide teams toward robust, maintainable solutions.
- Balance long-term architectural investment with practical product delivery.
Software Engineering
- Design, develop, test, and maintain production C++ software for edge systems, imaging systems, mission applications, developer tooling, and automated test infrastructure.
- Build user-space Windows and 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 interfaces such as MIPI CSI, GMSL, Ethernet, serial, or comparable hardware-facing protocols.
- Develop calibration, synchronisation, data capture, diagnostics, inspection, and configuration tools for complex sensor systems.
- Optimise software for latency, throughput, reliability, power consumption, 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 from ambiguous requirements through design, implementation, integration, verification, and delivery.
- Collaborate across systems, hardware, AI, autonomy, product, and test teams to deliver integrated capability.
Required qualifications
•
- Degree in Computer Science, Software Engineering, Electrical Engineering, Robotics, or a related discipline, or equivalent industry experience.
- Strong commercial 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.
- Practical experience developing and debugging software on Linux.
- Experience developing complex C++ applications on Linux, Windows, or both. Experience deploying software to Linux-based edge compute platforms such as NVIDIA Jetson or comparable ARM64 systems is highly regarded.
- Strong software engineering fundamentals including concurrency, interfaces, 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 technical work from incomplete requirements through design, implementation, integration, verification, and delivery.
- Excellent collaboration skills across multidisciplinary engineering teams.
Preferred qualifications
- We do not expect candidates to have all of the following. Experience in any of these areas will help you stand out.
- 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, Qualcomm Snapdragon, 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 deployment tooling.
- Automated testing, simulation, software-in-the-loop, hardware-in-the-loop, CI/CD, or deployment infrastructure.
Additional Experience for Staff Level Engineers
- While we hire across multiple experience levels, successful Staff Engineer candidates will typically demonstrate several of the following:
- Experience defining architecture for large or technically complex software systems.
- A track record of influencing technical direction across multiple teams or products.
- Proven technical leadership through influence rather than organisational authority.
- Experience mentoring senior engineers and helping grow engineering capability across an organisation.
- Ownership of long-term technical strategy alongside day-to-day software delivery.
- Strong judgement when balancing performance, reliability, maintainability, scalability, and delivery.
- Experience establishing engineering standards, reusable frameworks, or software platforms adopted by multiple teams.
#LI-FB1 #LC
Help us redefine what's possible in AI-driven perception - apply today!
Shield AI is proud to be an equal opportunity workplace and is an affirmative action employer. We are committed to equal employment opportunity regardless of race, colour, ancestry, religion, sex, national origin, sexual orientation, age, marital status, disability, gender identity or Veteran status. If you have a disability or special need that requires accommodation, please let us know.
Not included in the source posting: about the role, benefits.
Skills
Who can apply
The employer didn't state any visa, work authorization, citizenship or clearance requirements in this posting. Confirm with the employer before applying.
Read automatically from the employer's posting text. Always confirm with the employer — requirements can change after a job is published.