Linux Kernel Development, Optimization and Maintenance.
Design and Development of Device Drivers for various peripherals including NIC, USB and SATA.
Design and Development of BSP, HAL.
Participate in Silicon bring-up and debug.
Work closely with the Firmware and Hardware teams.
Mentor junior design engineers
Qualifications
BE/BS/MS/MTech or equivalent engineering degree (CS, ECE or EE) plus a minimum of 6 years of experience Linux Kernel/Device Driver, Network Stack development.
- Very robust in C and data structures, preferably in developing multi-core or multi-threaded applications.
- Proficiency in assembly (MIPS, x86, ARM, or PPC) is strongly desired.
- In-depth knowledge of kernel functionality and architecture including knowledge of networking, memory management, process management etc.
- Excellent debugging skills, experience with kernel debugging tools and JTAG is preferred.
- Solid understanding of low-level CPU architecture (core, cache, MMU, bus architecture, etc.)
- Must have hands on experience in developing device drivers for Linux kernel.
- Experience with hardware peripherals / buses/ protocols like PCIe, USB, SATA, SD/MMC etc.
- Good understanding of protocols & interfaces like SPI, I2C, RS-232 desirable.
- Experience in developing Unix user-space applications desirable.