A graduate software engineering position working in a small team on our cutting-edge ray tracing technology. Responsibilities will include implementation and testing of drivers to expose our unique ray-tracing hardware, working alongside other software teams implementing the full driver stack for PowerVR graphics hardware. The role will include liaison with other teams within the company to ensure hardware designs meets specification requirements.
As part of the ray tracing graphics driver team you will be working on the cutting edge of Vulkan and GLES driver software for our unique ray tracing technology. This team will be focusing on specification and implementation of drivers to allow our hardware to expose hybrid rasterisation and ray tracing technology.
This role involves writing ray tracing drivers for current and next generation low power graphics cores. The team works to support major device manufacturers and OS vendors to produce cutting edge graphics for the low power market. The successful candidate will be joining a world class team with an opportunity to learn and develop their software skills in diverse graphics-related technologies.
Working as a part of a team, you will have some or all of the following responsibilities:
Develop ray tracing graphics drivers for our current and next generation graphics cores.
Hardware and software performance analysis and optimisation of drivers to get the most out of our graphics cores.
Interaction with simulation, research and hardware design teams to improve our next generation graphics cores.
To help maintain architectural and functional documentation.
Excellent software design skills
Excellent C/C++ programming skills
Some experience with modern, advanced OpenGL or OpenGL ES, and GLSL
Some understanding of operating systems and computer architectures (virtual memory, MMUs, caches, scheduling etc.)
Experience with user-mode or kernel driver development for Android or Linux.
Use of modern Linux development tools, compilers and debuggers.
Knowledge of the principles of ray tracing would be very desirable.
Good problem solving skills
Good design skills
Tenacity, hard working and a motivated self-starter
Able to communicate effectively and work well in a team
Able to understand complex ideas
Willingness to learn and work with existing codebases
Relatively informal, non-hierarchical environment. Small but growing team, all well-educated, dedicated and technically competent and many long serving. The working environment is both relaxed and fast moving, the latter necessary to operate in the current international consumer electronics market.
Minimum of a Bachelor's Degree in Engineering, Computing or related subject