About the Role
About the Role
As a Senior Software Engineer at Trane Technologies, you will be responsible for designing and developing Linux kernel-mode drivers and optimizing kernel modules for real-time performance. You will work closely with an elite R&D team to tackle complex challenges in a collaborative environment.
Where Is The Work
Monday to Thursday, work onsite with your colleagues. Fridays, choose your work location, balancing what your work requires.
What's In It For You
Work at the edge of the Linux kernel, utilizing C, RUST and advanced SoC architectures (ARM Cortex-A, RISC-V). Join an elite R&D team where you’ll solve complex challenges. Competitive remuneration.
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.
Compensation
We offer competitive compensation and comprehensive benefits and programs.
Equal Opportunity
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.
Requirements
Linux kernel development
3+ years of professional experience in Linux kernel-level development and device driver programming.
Driver programming
Experience in designing and maintaining Linux kernel-mode drivers for high-speed interfaces.
Kernel internals knowledge
Deep understanding of Linux kernel internals, including scheduler and memory management.
Hardware debugging
Ability to debug low-level issues using tools like JTAG and oscilloscopes.
Nice to Have
Experience with embedded Linux build systems such as Yocto Project.
Hands-on experience with protocols like I2C, SPI, UART, and CAN.
Benefits
Competitive compensation
We offer competitive remuneration.
Flexible work location
Choose your work location on Fridays.