Senior Software Engineer
Core
Developing high-performance software models of Arm-based systems to enable early software development, architecture exploration, and system validation before silicon is available.
Role type
Senior embedded software engineer (fast models)
Builds
Functional models of CPUs, system IP, and reference platforms
Domain
Semiconductor / Embedded Systems
Deliverable
production ML models | product features | infrastructure
Required skills
C programming, embedded application design, Python scripting, Bash/Shell scripting, Git/Gitlab/Github API, low-level debugging, log analysis, crash dump analysis, trace collection, embedded Linux stack knowledge
Preferred skills
Arm CPU and SoC system architectures, C/C++ for systems development, Arm architecture (cache hierarchy, coherency fabric topology), boot processes, firmware-hardware interaction
Technologies
C, C++, Python, Bash, Shell, Git, SystemC, embedded Linux
Responsibilities
Participate in all phases of firmware development including design, implementation, debugging, task estimation, testing, and documentation; Perform design and code reviews; Interface with and integrate components with HW and SW teams; Analyze failures through log analysis, crash dump analysis, trace collection, and low-level debugging; Perform silicon bring-up, board validation, firmware integration, and system-level validation on ARM-based embedded platforms
Seniority
Senior, hands-on IC