Senior Engineer - Android Graphics Framework
RP International are seeking two skilled and innovative engineers to join our clients Graphics Research, one opening is for a permanent team member, the other is for a contractor on a 6 month basis. This is a chance to work on cutting-edge mobile technology, optimising graphics performance and delivering exceptional real-time rendering experiences.
The ideal candidates will have a strong background in low-level graphics and GPU development on Android, preferably with experience in the consumer electronics industry.
Key Responsibilities
* Develop and optimise real-time rendering pipelines for class-leading performance.
* Implement features and extensions for the Android Graphics stack (e.g., SurfaceFlinger, SKIA, HWUI).
* Analyse graphics workloads to identify bottlenecks and optimise performance/power usage.
* Create efficient middleware libraries using graphics and compute APIs like Vulkan and OpenGL ES.
* Collaborate on hardware bring-up, UX requirement implementation, and benchmarking.
* Take technical ownership of significant project sections and translate complex requirements into detailed implementations.
Required Skills
* Degree in Computer Science, Electronics, Mathematics, Engineering, or a related field (or equivalent industrial experience).
* Proven expertise in real-time embedded software development, ideally for mobile devices.
* Strong knowledge of computer graphics, including middleware design using Vulkan (preferred), OpenGL ES, or DirectX.
* Understanding of modern mobile GPU architectures and graphics pipelines.
* Proficiency in C/C++ programming with system-level performance analysis skills.
* Strong OS fundamentals (memory management, multithreading, user/kernel interaction).
* Excellent communication, teamwork, and problem-solving skills.
Desirable Skills
* Experience with SKIA graphics library and GPU drivers.
* GPU shader algorithm development (e.g., GLSL, HLSL).
* Android OS system software development.
* Image processing algorithm implementation.
* Familiarity with ARM 64-bit architecture and CPU/NPU hardware architectures.
* Java and/or Python programming skills.