Overview
Join to apply for the Staff/Principal Software Engineer role at Arm.
Are you looking for an exciting and challenging role, with the possibility to work on the cutting edge of mobile GPU technology? You will use your technical skills and leadership to help drive your career while contributing to the Linux upstream ecosystem and advancing open-source graphics DRM drivers.
Arm is seeking highly skilled and motivated engineers to join our Agile Software development team working on the drivers for the next generation Mali GPU products. We collaborate with Arm’s European design centres across software and hardware teams and architects, in a friendly and collaborative environment focused on high-quality, high-performing software.
If you enjoy tackling sophisticated technical problems and want to contribute to top-tier GPU driver technology, we would love to hear from you.
Responsibilities
* Developing, maintaining and improving existing user and kernel space driver components to support recent Linux kernels and upcoming Android versions.
* Developing performance-critical GPU driver components, including scheduling and memory management for Linux and Android OSs.
* Contributing to Mali GPU implementations of Vulkan, OpenGL and OpenCL.
* Being a member of the GPU Linux Kernel team responsible for upstream Mali GPU Driver (panthor).
* Participating in all phases of software development: design, implementation, testing, code review and documentation.
* Interfacing driver components with other software teams.
* Maintaining the existing codebase: bug fixes and QA activities.
* Upstream support for new architecture features and alignment with the Linux community on cross-architectural needs.
Required Skills And Experience
* Extensive expertise in C programming with the ability to design and optimize complex software architectures. Experience in the Linux kernel and/or device driver development.
* Exceptional problem-solving and debugging skills for highly complex software and system issues.
* Expert-level understanding of computer architecture, embedded systems, and hardware-software interactions.
Nice To Have
* Ability to lead large-scale projects, set technical direction, and coordinate across multiple teams.
* Extensive experience with ARM embedded systems, including performance optimization and hardware bring-up.
* Familiarity with Android system software development and debugging.
* Familiarity with Linux kernel internals and graphics stack components such as DRM/KMS and Mesa.
* Experience submitting and reviewing patches via mailing lists and engagement with community maintainers.
* Experience developing production-grade software for commercial organizations with a focus on high-quality, maintainable code.
About Arm GPU Engineering
We produce graphics processing hardware and software for mobile, embedded and automotive industries. Mali Graphics Processor is the world’s #1 shipping GPU. We are growing and looking for hardworking people to join the team. You will work with global teams, leading and challenging the status quo in graphics processing.
Working at Arm
We offer a flexible hybrid working model combining home and office work to create an inclusive and collaborative environment. Details of hybrid arrangements will be shared upon application.
Accommodations
If you need an adjustment or accommodation during the recruitment process, please email accommodations@arm.com. Information provided will be treated confidentially and used only to provide accommodations during recruitment.
Equal Opportunities
Arm is an equal opportunity employer, and we do not discriminate on race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or veteran status. We are committed to creating an inclusive environment.
Job Details
* Seniority level: Mid-Senior level
* Employment type: Full-time
* Job function: Engineering and Information Technology
* Industries: Semiconductor Manufacturing, Software Development, and Computer Hardware Manufacturing
Location: Cambridge, England, United Kingdom
#J-18808-Ljbffr