As a Principal Engineer, you will actively work on the design and architecture of platform software, mentor junior engineers and provide technical leadership across various modules and teams.
Responsibilities
● Design and architect various modules and subsystems within platform software
● Modify and maintain Linux kernel with preempt RT.
● Develop, enhance, and maintain device drivers in Linux.
● Develop unit tests and integration tests.
● Understand various performance trade-offs as they relate to CPU time, memory usage, debuggability, and traceability when introducing new software.
● Debug across software and hardware to understand the root issue and provide solutions, work, and collaborate with multiple teams if needed.
● Develop and document embedded software tools for profiling and visualizing platform software.
Qualifications
● Bachelor’s or Master’s degree in Computer Science or related field.
● 15+ years of related work experience.
● Experience developing and debugging applications or device drivers on embedded Linux.
● Experience in programming with C/C++.
● Strong understanding of modern SoC architectures, operating system fundamentals, hardware/software interfaces, and abstractions.
● Experience with Linux device drivers for hardware blocks such as GPGPU, Camera Serial Interface (CSI), Image Signal Processor (ISP), Ethernet, UFS, or PCIe.
● Experience with embedded Linux distribution systems like Yocto or Buildroot.
● Experience with version control systems like Git.