Senior Graphics Software Engineer
Stamp your mark on the future of mobile graphics by researching techniques and helping improve the performance of games and other applications on billions of Arm-based devices. Gain a deep understanding of how to optimize for the most widely used compute solutions within mobile handset market. The mission of Arm's Client Line of Business is to accelerate the adoption of our technology and open new markets through close collaboration with our product and marketing groups.
About the role
This role is within the growing Client Ecosystem & Engineering team responsible for enabling the best possible user experience of Graphics and Gaming applications on Arm-based smartphones, Chromebooks, laptops, and 2-in-1 devices.
We are looking for an inquisitive software engineer, passionate about Computer Graphics and video games, willing to explore the full software stack to learn more about the underlying hardware and processor architecture.
The team fulfils two key roles. The first one is the analysis of gaming and graphics workloads on modern smartphones, identifying performance bottlenecks and new and interesting graphics techniques. The results of these investigations help developers build better software and our GPU (Graphics Processing Units) teams design the next generation of graphics hardware. The other one is to perform extensive research into innovative mobile graphics techniques, such as ray tracing, looking for opportunities to push the state of the art forward.
The team develops primarily in C and C++, working with OpenGL-ES and Vulkan on Android platforms. There are also opportunities to look at other languages such as Rust or WebAssembly with WebGPU.
When hiring for this role, we will look for evidence that you can contribute positively to the work of this team. Any experience working at a low level with Arm processors or Mali GPUs, SIMD instruction sets, mobile performance and debug tools, or experience working with Unity, Unreal or other game engines would be looked on favourably.
Required skills, experience, and qualifications:
‘ Strong programming skills
‘ Experience in using a modern graphics API
‘ University degree in Computer Science, or equivalent
It would be beneficial if you also had knowledge of:
‘ Arm Mali or other GPU architectures
‘ Game engines
‘ Rendering techniques and associated mathematics
‘ Mobile software and developer landscape
‘ Agile Scrum process
‘ Android or Linux internals
At Arm, we are guided by our core beliefs that reflect our special culture and guide our decisions, defining how we work together to surpass ordinary and shape extraordinary:
‘ We not I
o Take daily responsibility to make the Global Arm community thrive
o No individual owns the right answer. Brilliance is collective
o Information is crucial, share it
o Realise that we win when we collaborate and that everyone misses out when we do not
‘ Passion for progress
o Our differences are our strength. Widen and mix up the pool of people you connect with
o Difficult things can take unexpected directions. Stick with it
o Make feedback positive and expansive, not negative, and narrow
o The essence of progress is that it cannot stop. Grow with it and own your own progress
‘ Be your brilliant self
o Be quirky not egocentric
o Recognise the power in saying ‘I don’t know’
o Make trust our default position
o Hold strong opinions lightly