What you'll be doing:
Develop system software components including processor firmware and bootloaders, kernel drivers/modules, and user space applications and libraries.
Collaborating with hardware and product design teams to develop software for sophisticated SOC platform designs.
Assisting world-wide teams with various customers' and internal DPU projects.
Tackle complex system-level optimization and resource utilization challenges.
Participate across all levels of product development lifecycle that values high-standards for clear requirements, software quality and performance.
Collaborate within a worldwide matrixed software development team, and have broad impact within our highly-dynamic and technology-focused company.
What we need to see:
Bachelor's degree in Computer Science/Engineering or equivalent experience.
5+ years developing software for embedded systems (C is required, Python).
Proven understanding of the system software stack, with a focus on software/hardware interaction, including platform firmware, device drivers, Linux kernel, and how user-space applications utilize system services to achieve high performance.
A deep knowledge of high-performance processor architecture including CPU and cache coherency concepts, as well as hardware accelerators.
Well-rounded engineering skills, including technical investigation, design, testing, and agile software engineering process.
Outstanding written and oral communication skills.
Must be proficient in the C programming language.
Experienced with build environment tools (gcc, git, github, make, bitbake, shell scripts, gerrit, jenkins, etc).
Ways to stand out from the crowd:
Background with ARMv8 microarchitecture, ATF and/or UEFI software is a strong plus.
Experience with multiple Linux distributions, with the ability to compare and contrast them.
Experience developing security key management solutions is very desirable.
Exposure to secure boot flows and/or trusted computing environments.