Embedded & Systems Software
$123,900 - $185,900 USD yearly
Originally posted 7 August 2026 by the employer.
About the role
What you'll do
- Support DDR enablement and platform bring-up across firmware, bootloaders, and operating system environments.
- Investigate and resolve complex DDR-related issues including memory corruption, training failures, configuration issues, system crashes, and long-term stability concerns.
- Perform root cause analysis of memory subsystem behaviors involving DDR controllers, cache coherency mechanisms, and system-level interactions.
- Collaborate with customers, OEMs, and ODMs to support memory configuration, tuning, issue triage, and technical escalations.
- Analyze and optimize DDR performance, memory bandwidth utilization, latency, power consumption, retention behavior, and overall system efficiency.
- Develop and leverage debug methodologies, automation tools, and validation frameworks to improve productivity and quality.
What you'll need
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or related field and 2 years of software engineering experience.
- Experience programming in C/C++.
- Experience developing, debugging, and optimizing software in Linux or embedded system environments.
- Experience analyzing and debugging complex software and system-level issues.
Nice to have
- Strong understanding of DDR/DRAM architectures and JEDEC memory standards, including DDR5.
- Experience with firmware, bootloaders, platform initialization, BSP development, or kernel bring-up activities.
- Knowledge of operating system memory management concepts, particularly within Linux, Android, or QNX environments.
- Experience debugging cache coherency, memory virtualization, and memory subsystem interactions in complex SoCs.
- Understanding of large-scale system architectures, edge computing platforms, or high-performance compute environments.
- Experience analyzing memory bandwidth, latency, and CPU-memory interactions using performance profiling and diagnostic tools.
- Proficiency in Python or other scripting languages for automation, validation, and debug workflows.
- Experience with kernel debugging, crash dump analysis, and system software troubleshooting.
Skills: DDR enablement, firmware, bootloaders, memory subsystem, platform bring-up