Our client is a leading creator of body motion video games that run on anything from mobile devices to TVs. They are seeking a Software Engineer to focus on optimizing operating systems and taking control of low-level SoC functions, including NPU, ISP, and GPU pipelines, as well as unlock new system capabilities through deep integration across applications, firmware, and hardware.
What you will do:
- Integrate software and hardware deeply to push technological boundaries and unlock new capabilities.
- Apply your knowledge of Android and Linux operating systems to optimize performance.
- Guide your team with a strong sense of technology leadership, enabling accelerated learning, experimentation, and product development.
What you will need:
- Proficiency in C/C++ and Python.
- Expertise in low-level system programming, task scheduling, and multi-processing.
- Experience with system debugging tools such as perfetto, systrace, tcpdump, Arm Mobile Studio, etc.
- Experience in building and customizing AOSP, the Android build system, and toolchains.
- In-depth knowledge of Android and Linux operating systems, hardware abstraction layers, and performance optimization techniques.
- Understanding of computer architectures, memory access patterns, caching, interrupts, and hardware acceleration.
- Familiarity with image processing and graphical pipelines.
Nice to Haves:
- Domain knowledge of cameras and ISPs.
- Understanding of neural networks and NPUs.
- Familiarity with Arm Cortex CPUs and Mali GPUs.
- Experience with bootloaders and system initialization.
- Experience deploying machine learning applications on the edge.
- Familiarity with real-time operating systems.