We are looking for a versatile Senior Software Engineer for the DPU Platform team. This position offers the opportunity to have real impact in a multifaceted, technology-focused company affecting product lines that empower the most advanced data centers in the world. Using your deep knowledge of embedded platforms, operating systems, and software distribution technologies, you will work with a world-wide development team to solve the unique challenges of delivering the world's most powerful platforms.
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.
Requirements: 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.
This position is open to all candidates.