GPU Android Software Engineer
Job no: 496455
Work type: Experienced
Location: Kings Langley, UK
Categories: Drivers, Embedded software, Graphics
We are looking for a very technically capable software developer to join the Android driver development team. You will be a member of a small team, working alongside other software teams implementing the full driver stack for PowerVR graphics hardware.
As part of the Android team you'll be focusing on developing Android specific-portions of our driver: the display controllers, kernel interfaces and hardware-specific parts of the OS. This role will bring you into contact with current and future generations of 3D hardware, mostly targeted at mobile and embedded devices. We work with a wide range of platforms from development boards and prototypes to customers’ production systems.
Working as a part of a team you will have some or all of the following responsibilities:
- Designing and developing Android graphics drivers to drive our current and next generation graphics cores
- Maintaining user and kernel-mode drivers throughout the whole software and hardware lifecycles
- Analysing and optimising the performance of the driver code
- Working closely within the team and liaising internally and externally with other research and development teams
- Keeping abreast of Android releases
- Friendly: outgoing personality, gets on with all types of people
- Interested: keen to learn about and explore the internals of Android
- Open: thrives in an informal environment is comfortable to ask questions and raise concerns
- Self-starter: takes their own initiative and can be relied upon
As part of a small and friendly team within the larger PowerVR Software Graphics group, We work in a modern, open office environment of mostly engineers. There are many long-serving and dedicated employees as well as many recent graduates. The atmosphere within the team is informal and supportive. We are an expanding international business with many nationalities represented in our UK offices.
Minimum of a Bachelor’s Degree in Engineering, Science or Computing
- Excellent C programming skills
- Excellent software design skills
- Experience with setting up and building an Android environment
- A good understanding of computer architecture issues (virtual memory, MMUs, caches, etc.)
- Some experience with modern graphics APIs (OpenGL ES, Vulkan, etc.)
- Experience in low-level driver development for Linux or Windows.
- Knowledge of the Android graphics stack
- Knowledge of how graphics hardware works.
Links for further reading
Advertised: GMT Standard Time