Looking for smart, innovative, and motivated individuals to join the team of professionals to work on different kernel subsystems on the Android, Linux platforms.
Very good C/C++ programming.
Experience in Kernel module development on multiprocessor and multithreaded platforms
Good to have multi-threaded programming/parallel-processing concepts such as threads, Synchronization and IPC etc.
Good understanding of Linux OS, RTOS concepts and Linux Kernel internals.
Understanding of ARM32/64 architectures.
Excellent debugging skills, especially in the core kernel Software stability domain, like crash, system lock, abnormal reset etc.
Experience in using debugging tools like JTAG/TRACE32/ICE/ICD and ability to use Oscilloscope and Protocol Analysers
Experience with scripting languages (Python, Shell scripts)
Familiarity with SDLC and typical processes for development and testing, release management etc.
Good analytical and problem-solving skills
Experience with tools like GIT, Perforce, Code Collaborator, Gerrit, JIRA, Confluence and Jenkins
Good communication skills, interpersonal, and cross functional teamwork skills
Desired Skills
Experience with different kernel subsystems is a plus – kernel memory, schedulers, Virtual Memory, IO MMU, synchronization techniques, IO virtualization, ARM subsystems like MMU, Caching, GIC, PMU, TIMER, CLOCKS, BUSES, PINCTRL etc.
Experience in working with mainline Linux Kernel, upstream community is a plus
Experience with Kernel Hardening and optimising kernel boot flow.