We are looking for a versatile Senior Software Engineer for the company 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.
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:
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.
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.