- Develop and maintain Linux device drivers with strong hands-on experience.
- Write high-quality, efficient C/C++ code for system-level and low-level software development.
- Demonstrate solid understanding of Linux kernel architecture, including:
- Kernel modules and the device-driver model
- Memory management and virtual memory subsystems
- Synchronization mechanisms (locks, semaphores, RCU)
- Interrupt and exception handling
- DMA (Direct Memory Access) concepts
- Power management frameworks (e.g., suspend/resume, runtime PM)
- Kernel debugging and tracing infrastructure
- Diagnose and resolve complex kernel-level issues using tools such as:
- kgdb, gdb-stub
- ftrace, perf, eBPF
- crash, makedumpfile
- Energetic debug, kmsg logging, oops/panic analysis
- Apply foundational knowledge of operating systems, data structures, and computer architecture to solve real-world embedded and systems challenges.