Embedded Software Engineer - Real-Time Systems & Multicore
New
United StatesFull-TimeSenior
Salary100,000 - 140,000 USD per year
Apply NowOpens the employer's application page
Job Details
- Experience
- 4+ years
- Required Skills
- PythonC++
Requirements
- Bachelor’s degree in software engineering, computer engineering, or a related engineering discipline.
- 4+ years of relevant software engineering experience in avionics, aerospace, military, electronic controls, or other safety-critical environments.
- Demonstrated expertise developing low-level embedded software using C, C++, and assembly.
- Hands-on experience with multicore processor architectures, synchronization techniques, cache behavior, interference analysis, and deterministic execution strategies.
- Ability to perform complex timing and performance analysis, including WCET and DCCC evaluations.
- Familiarity with DO-178C certification practices, particularly Level A verification processes and test frameworks.
- Experience with FPGA/ASIC interfaces and timing-sensitive embedded communication protocols.
- Proficiency with ARM development tools, debugging environments, trace analysis, and Python-based automation.
- Familiarity with S32 processor families or similar ARM-based multicore platforms.
- Experience working with hardware, systems engineering, verification, or architecture teams in integrated development environments.
Responsibilities
- Develop and maintain low-level embedded software using C, C++, and assembly with a focus on processor-level control and deterministic execution.
- Design and implement multicore synchronization approaches, including cache management, interference mitigation, and timing-aware resource coordination.
- Perform advanced technical analyses such as Worst-Case Execution Time (WCET) assessments and Deterministic Cache and Core Contention (DCCC) evaluations.
- Support certification-driven software development activities, including DO-178C objectives and Level A verification environments.
- Integrate and validate FPGA/ASIC interfaces and timing-critical embedded communication systems.
- Contribute to software architecture decisions, design reviews, verification planning, and continuous improvement initiatives.
- Use debugging, trace analysis, and automation tools to improve development workflows, including ARM development environments and Python-based utilities.
View Full Description & ApplyYou'll be redirected to the employer's site