Job Overview:
Developing, maintaining and improving existing user and kernel space driver components to deliver them for most recent Linux kernels and yet-to-be-published Android versions. This involves developing performance-critical driver for GPU hardware, including scheduling and memory management for Linux and Android OSs. You will provide the foundations that will make the Mali™ GPU implementation of Vulkan, OpenGL and OpenCL simply the best in the market.
Responsibilities:
- Participating in all phases of software development - including design, implementation, testing, code review and documentation.
- Leading software designs in coordination with Architects and cross-functional teams for new feature delivery.
- Performing code reviews for other team members.
- Understanding customer requirements and aligning them with GPU roadmap.
- Working closely with other software teams to interface driver components.
- Maintaining the existing codebase: fixing bugs and other quality assurance activities.
Required Skills and Experience:
- Expert in C programming.
- Experience in the Linux kernel and/or device driver development.
- Deep understanding of computer architecture and embedded systems.
“Nice To Have” Skills and Experience:
- Experience with leadership roles, driving and coordinating projects.
- Experience with ARM embedded systems.
- Experience with different testing / debugging tools and script languages.
- Familiar with Android system software development and debugging.
- Interest in graphics and compute APIs - Vulkan, OpenGL ES, OpenCL.
- Experience in software development for a commercial organization.