Senior Software Engineer, Linux Kernel
CanadaFull-TimeSenior
Salary$120,000 to $195,000 CAD
Apply NowOpens the employer's application page
Job Details
- Experience
- Bachelor's degree with 8+ years; Master's degree with 6+ years; PhD with 3+ years
- Required Skills
- PythonC++
Requirements
- Bachelor's degree in CS, Computer Engineering, Electrical Engineering, or related field with 8+ years of experience; or Master's with 6+ years; or PhD with 3+ years.
- Extensive professional experience developing software in C.
- Working knowledge of C++ and Python.
- Proven expertise developing, debugging, and maintaining Linux kernel code in production environments.
- Strong understanding of Linux kernel architecture, design principles, and implementation.
- Experience contributing to or working with the upstream Linux kernel development community.
- Familiarity with Linux kernel patch submission process.
- Solid knowledge of IP networking concepts, protocols, and network architecture.
- Strong software design, debugging, troubleshooting, and performance optimization skills.
- Experience building scalable, high-quality software following modern software engineering practices.
- Familiarity with x86 and ARM processor architectures.
- Demonstrated leadership skills with experience mentoring engineers and driving technical initiatives.
Responsibilities
- Develop, maintain, and enhance Linux kernel features, ensuring reliability, scalability, and high performance across networking platforms.
- Monitor upstream Linux kernel developments, evaluate emerging technologies, and identify opportunities to integrate new capabilities into future releases.
- Design, implement, and maintain kernel functionality using C, with additional development in C++ and Python where appropriate.
- Build automated testing frameworks and validation tools to verify new kernel features and ensure software quality.
- Collaborate with hardware engineering teams and technology vendors to evaluate, qualify, and integrate new CPUs, network interface controllers, and other kernel-dependent hardware.
- Contribute kernel enhancements back to the upstream Linux community by participating in open-source development and patch submission processes.
- Support kernel integration efforts across software releases while providing technical leadership on complex engineering projects.
- Investigate, troubleshoot, and resolve software issues identified through internal testing, customer deployments, and technical support teams.
- Mentor junior engineers by sharing technical expertise, reviewing code, and promoting engineering best practices.
View Full Description & ApplyYou'll be redirected to the employer's site