
Senior Software Engineer
Trane Technologies
About the role
What you will do
- Driver Development: Design, develop, and maintain Linux kernel-mode drivers for high-speed interfaces like PCIe, Ethernet, USB 3.x, and MIPI/CSI.
- Board Bring-up: Lead initial hardware bring-up, debugging low-level issues using JTAG, oscilloscopes, and logic analyzers.
- Kernel Customization: Customize and optimize Linux kernel modules, memory management, and interrupt handling for real-time performance.
- Cross-Functional Debugging: Root-cause complex system crashes spanning hardware, firmware, and kernel-space using tools like GDB, KGDB, and Ftrace.
- Optimization: Profile and tune driver performance for power efficiency, memory footprint, and low-latency throughput
What you will bring:
-
Education: Bachelor’s or Master’s degree in Computer Engineering, Electrical Engineering, or a related technical field.
-
Experience: 3+ years of professional experience in Linux kernel-level development and device driver programming.
-
Kernel Internals: Deep understanding of Linux kernel internals, including scheduler, MMU, DMA frameworks, and IPC mechanisms.
-
Hardware Knowledge: Strong ability to read datasheets/schematics and hands-on experience with protocols like I2C, SPI, UART, and CAN.
-
Build Tools: Proficiency with Git and embedded Linux build systems such as Yocto Project
-
Programming Mastery: Expert proficiency in C and "Embedded C++" (familiarity with STL-lite, atomics, and templates in resource-constrained environments), RUST.
We offer competitive compensation and comprehensive benefits and programs. We are an equal opportunity employer; all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, pregnancy, age, marital status, disability, status as a protected veteran, or any legally protected status.
