Our software group is responsible for supporting and bringing out the best in the hardware we design as well as working with our hardware engineers to make things even better. Software drives our hardware that is shipped around the world and used in a plethora of industries. Our people are passionate and care about producing the best software possible to power the world.
Job Overview:
We are looking for Software Engineers to join our team responsible for Display Processor Driver Development. This involves work on Linux kernel drivers and relevant related projects, upstreaming and code review, interacting with hardware engineering, using hardware emulation (software, FPGA), Android, testing/QA and more.
Key Responsibilities:
Develop and maintain display drivers and related software.
Collaborate with team members in related areas to ensure our DPUs function best.
Conduct thorough testing and debugging to ensure reliability and performance.
Engage in device emulation to simulate and troubleshoot real-world scenarios.
Contribute to related open-source projects and work with their communities.
Support partners as they rely on our products.
Help Arm grow and be better and be part of a wider team.
Required Skills and Experience:
A bachelor's degree in computer science, electrical engineering, or related fields.
Strong knowledge of display pipelines, computer graphics, rendering, image processing and related technologies.
High proficiency in C programming language.
Low-level programming experience and familiarity with hardware-software interactions.
Extensive experience with Linux operating systems.
‘Nice to Have’ Skills and Experience:
Experience in testing and device emulation.
Familiarity with open-source development and contributions.
Working knowledge of SCMS tools like Git and related infrastructure such as GitHub, GitLab, Gerrit etc.
Familiarity with ARM architecture.
Experience with other programming languages such as C++, Rust or Python.
Knowledge of compositor and rendering frameworks and libraries such as OpenGL, Vulkan etc.
Experience with non-Linux kernel based operating systems and their driver models.