As a fully owned subsidiary of Safran Electronics & Defense, Safran Electronics & Defense Australasia Pty Ltd (SEDA) delivers and supports various products including high-performance optronics and inertial navigation equipment.
SEDA is experiencing significant growth and is seeking an experienced Software and Firmware Architect. This role is responsible for the design, development, integration, verification, and maintenance of embedded firmware and low-level software for electro-optic/infrared (EO/IR) sensor and gyro-stabilised gimbal systems.
Reporting to the Head of Engineering, the Software and Firmware Architect is responsible for developing real-time software on heterogeneous ARM-based system-on-chip (SoC) platforms, such as Xilinx Zynq UltraScale+. This role spans both a hard real-time environment, using FreeRTOS, and a Linux-based environment with time-sensitive constraints on the same board. The position requires interfacing with a variety of hardware, including sensors, actuators, inertial measurement units, imaging systems, and motor controllers. The architect collaborates closely with teams across GNC, electronics, systems, mechanical, optical, and test engineering to deliver robust and high-performance EO/IR products.
KEY RESPONSIBILITIES:
- Own and define the software and firmware architecture across FreeRTOS (hard real-time) and Linux (time-sensitive) environments on the same SoC, including function partitioning and inter-environment interfaces.
- Set technical and coding standards and provide architectural governance for firmware and software development across the team.
- Lead architecture and design reviews, defending design decisions with customers, subcontractors, and parent company counterparts.
- Provide technical direction and mentoring to firmware and software engineers in both environments.
- Design, develop, and maintain embedded firmware and software for EO/IR sensors across FreeRTOS and Linux execution environments.
- Develop hard real-time firmware in C/C++ for FreeRTOS, with a focus on deterministic processing, task synchronization, interrupt latency, and code optimization.
- Develop software for Linux, including kernel-level configuration and modification as needed to meet real-time constraints.
- Interface with FPGA-implemented IP blocks via memory-mapped register access (excluding FPGA/RTL design tasks).
- Produce software requirements, design documentation, test procedures, and verification evidence.