Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical discipline.
Significant hands-on experience developing low-level embedded software in C and C++.
Proven experience with bare-metal embedded development, including direct hardware interaction.
Experience developing and maintaining bootloaders, BSPs, device drivers, and processor initialization software.
Practical experience working with Real-Time Operating Systems (RTOS) in embedded applications.
Experience with multicore processors, embedded architectures, or ARM-based systems.
Strong understanding of hardware/software interactions, memory architectures, interrupts, and processor-level debugging techniques.
Experience performing software integration and troubleshooting in embedded environments.
Background in low-level embedded software development for avionics or other safety-critical systems.
Experience with NXP S32 family processors, including S32G2.
Experience with NXP Layerspace devices in aerospace, avionics, defense, or other safety-critical industries.
Knowledge of DO-178C software development and certification processes for airborne systems.
Experience supporting Level A safety-critical software development efforts.
Knowledge of multicore processing architectures and techniques for interference mitigation.
Experience with deterministic communication protocols such as Time-Sensitive Networking (TSN), PCIe, and AFDX.
Experience using ARM Development Studio (ARM DS IDE) and associated debugging tools.
Python scripting experience for test automation and tooling.
Experience performing WCET, Data Coupling and Control Coupling (DCCC), and related timing and dependency analyses.
Exposure to FPGA and ASIC interface development and hardware/software co-design.