(Design) GPU Graphics System Software Engineer
Job no: PM1701KL
Work type: Experienced
Location: Kings Langley, UK
Categories: Drivers, Firmware, Graphics, OS Kernel
To join a team of software engineers developing low-level drivers and firmware for the full family of PowerVR Graphics cores. The successful candidate will contribute to design, implementation and maintenance of the software drivers for the current and next generation cores.
The successful candidate will be developing firmware and driver software for cutting edge future devices with the opportunity to work closely with our customers, many of which lead the world in the products they create.
Working as a part of a team, you will have some or all of the following responsibilities:
• Software design: contributing to the driver and firmware architecture to support current and next generation cores
• Hardware design: opportunity to provide input into the future design of PowerVR graphics cores
• Code ownership: become responsible for one or more key areas of the driver and firmware
• Customer support: assisting customer engineering group with customer issues, integrating and porting our drivers to new SoCs
• Hardware debug: investigative work involving hardware emulation, software simulators, RTL simulations and waveform analysis to root-cause complex hardware issues
• Hardware validation/verification: contribute to hardware validation effort of new cores, a shared responsibility between hardware, software and test groups within the PowerVR division
The Services firmware team is part of the PowerVR software graphics group and interfaces with many other teams, including GPU compiler, OpenGL, OpenGL ES and DirectX driver teams, hardware designers, customer facing product management teams and research teams. The firmware that the team produces is at the core of interaction with the GPU, and implements cutting edge features and functionality essential to the efficient execution of modern day GPU tasks.
Target Capabilities and Skills:
• Any knowledge of kernel and driver programming and concepts is useful
• Ability to absorb and understand complex designs in existing code
• OS knowledge: preferably Linux and Android but other OS experience will be considered
• Understanding of operating systems architecture, embedded real-time operating systems and associated concepts
• Assembly language
• Scripting (Perl, Python)
The successful candidate should have the following attributes:
• Self-starter and confident in own ability
• Able to communicate effectively and work well in a team
• Able to understand and communicate complex ideas
• An inquisitive nature, and a desire to understand how things work.
BSc/BEng in Engineering or Computing. Degrees in Maths/Physics with a computing focus are also welcome.
Links for further related reading to interest you in this role:
Advertised: GMT Standard Time