1

Kernel Engineer Jobs in Ontario (NOW HIRING)

Senior Embedded Linux Engineer

Kitchener, ON · Hybrid

CA$100K - CA$150K/yr

Senior Embedded Linux Engineer Department: Inverter Firmware Compensation: $100,000 - $150,000 ... Design and maintain Board Support Packages (BSPs) including bootloaders, kernel configuration ...

Apply Linux kernel, TCP/IP stack,forwardingtable, IP filtering, VLAN, and memory management ... Bachelor's degree in Engineering, Computer Science or equivalent * 6+ Years of experience with ...

Work with Linux kernel components, packages, utilities, and build systems. * Perform board bring-up ... Bachelor's or higher degree in computer engineering, electrical engineering, computer science, or ...

CA$100K - CA$500K/yr

Improve performance through techniques such as speculative decoding, quantization, kernel fusion ... Compensation for all engineers at Tenstorrent ranges from $100k - $500k including base and variable ...

We allow developers to, with no modifications to their code, transform existing mobile apps into ... Android internals and custom AOSP development (kernel, HAL, SurfaceFlinger, System Services, GMS ...

We allow developers to, with no modifications to their code, transform existing mobile apps into ... Android internals and custom AOSP development (kernel, HAL, SurfaceFlinger, System Services, GMS ...

We are hiring a talented software engineer to help us build the next generation of photonic AI ... Industry experience with device driver and kernel side development. * Strong understanding of ...

Showing results 21-40

Kernel Engineer information

What is a kernel engineer?

A Kernel Engineer is a software engineer who specializes in the development, maintenance, and optimization of operating system kernels, such as Linux or Windows. Their primary responsibilities include designing new kernel features, fixing bugs, improving performance, and ensuring compatibility with hardware. They often work closely with hardware manufacturers and other software developers to build stable and secure system foundations. Kernel Engineers must have a deep understanding of operating system internals, low-level programming (typically in C or C++), and computer architecture. This role is critical for maintaining and advancing the core components that allow computers and devices to function efficiently.

What are the key skills and qualifications needed to thrive as a kernel engineer, and why are they important?

To thrive as a Kernel Engineer, you need deep expertise in C programming, operating system concepts, and low-level hardware interactions, typically supported by a degree in computer science or related fields. Familiarity with version control systems (like Git), debugging tools (such as GDB), and kernel development frameworks is crucial. Problem-solving, attention to detail, and effective communication are standout soft skills in this role. These skills enable the creation of reliable, efficient, and secure kernels that form the backbone of computing systems.

What are some typical challenges kernel engineers face when working on operating system updates?

Kernel Engineers often encounter challenges related to maintaining system stability and compatibility when implementing updates or new features. Ensuring that changes do not introduce regressions or security vulnerabilities requires thorough testing and collaboration with QA and other engineering teams. Additionally, Kernel Engineers need to keep up-to-date with hardware advancements and support a wide range of devices, which can add complexity to their work. Effective communication and strong problem-solving skills are essential for navigating these challenges and delivering high-quality code.

What is the difference between Kernel Engineer vs Device Driver Developer?

AspectKernel EngineerDevice Driver Developer
Required CredentialsBachelor's or higher in Computer Science, Linux/Unix knowledge, programming skills in C/C++Similar credentials, often with specialized knowledge in hardware and driver development
Work EnvironmentSystem-level development, kernel code, Linux/Unix environmentsHardware interaction, driver coding, embedded or OS-specific environments
Industry UsageOperating system development, open-source projects, hardware manufacturersHardware companies, embedded systems, OS vendors
Common Search/ComparisonKernel EngineerDevice Driver Developer

Kernel Engineers focus on developing and maintaining the core kernel of operating systems, ensuring system stability and performance. Device Driver Developers specialize in creating software that allows hardware components to communicate with the OS. While both roles require similar technical skills and often overlap, Kernel Engineers work on the entire kernel infrastructure, whereas Device Driver Developers concentrate on specific hardware interfaces.

What are popular job titles related to Kernel Engineer jobs in Ontario?

For Kernel Engineer jobs in Ontario, the most frequently searched job titles are:

What job categories do people searching Kernel Engineer jobs in Ontario look for?

The top searched job categories for Kernel Engineer jobs in Ontario are:

Infographic showing various Kernel Engineer job openings in Ontario as of August 2026, with employment types broken down into 87% Full Time, and 13% Contract. Highlights an 84% In-person, and 16% Remote job distribution.

QNX Principal Systems Software Developer

Ottawa, ON

CA$131K - CA$181K/yr

Full-time

Medical, Dental, Vision, Life, Retirement

Re-posted 10 days ago


Job description

Worker Sub-Type:

Regular

Job Description:

QNX enhances the human experience and amplifies technology-driven industries, providing a trusted foundation for software-defined businesses to thrive. The business leads the way in delivering safe and secure operating systems, hypervisors, middleware, solutions, and development tools, along with support and services delivered by trusted embedded software experts. With a focus on reducing hardware dependency and increasing efficiency, QNX empowers organizations to unlock new possibilities in areas like high-performance computing at the edge, standards-based virtualization technologies, and cloud enablement. QNX technology has been deployed in the world's most critical embedded systems, including more than 275 million vehicles on the road today. QNX software is trusted across industries including automotive, medical devices, industrial controls, robotics, commercial vehicles, rail, and aerospace and defense.

Are you the person we're looking for?

Do you want to work on the technology that powers some of the world's most advanced and trusted systems? Join the QNX Kernel Development Team, where you'll help build, innovate, and optimize the core of one of the world's most reliable, secure, and safety-certified operating systems. This is not application development. This is engineering at the foundation of the software stack, where every optimization, architectural decision, and line of code can impact millions of devices around the globe. As a member of our elite Kernel Development Team, you'll tackle some of the most challenging problems in systems software, working on kernel architecture, memory management, process management, operating system services, power management, performance optimization, and foundational libraries. You'll collaborate with world-class engineers, influence the direction of the platform, and help deliver innovations that drive the next generation of embedded and real-time systems.

What You'll Do

  • Design, develop, and enhance core operating system technologies at the kernel and system level.
  • Drive innovation and provide technical leadership for QNX Kernel and Core OS research and development initiatives.
  • Influence the future direction of the operating system through architecture, design, and performance improvements.
  • Develop robust software specifications and designs that address complex customer and industry requirements.
  • Collaborate with fellow engineers through design and code reviews to maintain world-class engineering standards.
  • Implement high-quality, performant, and reliable code across critical OS subsystems.
  • Develop and execute automated unit tests to ensure software quality and maintainability.
  • Troubleshoot, analyze, and resolve complex system-level issues across hardware and software layers.
  • Contribute to continuous improvements in system reliability, security, safety, scalability, and performance.
  • Help estimate and plan development efforts across requirements, design, implementation, and testing activities.

What You Bring

  • Strong expertise in C programming, particularly in resource-constrained and embedded environments.
  • Deep understanding of operating system fundamentals, including: Process and thread lifecycles
  • Memory management
  • System calls
  • Inter-process communication (IPC)
  • Scheduling and concurrency
  • Resource management
  • Experience working with POSIX-based operating systems.
  • Understanding of multicore, multithreaded, and real-time system architectures.
  • Exceptional debugging, troubleshooting, and problem-solving skills.
  • Strong verbal and written communication skills.
  • Self-starter mindset with the ability to work independently while collaborating effectively within a team.
  • Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent experience.

If you have any of these then that would be great

  • Experience developing system-level software on QNX, including resource managers, system services, or development tools.
  • Expertise in performance tuning, memory analysis, profiling, and post-mortem debugging.
  • Experience with Git, SVN, and GNU development toolchains.
  • Low-level programming experience in Assembly and register-level hardware interaction.
  • Experience with ARM and/or x86 architectures.
  • Deep expertise in embedded and real-time operating systems.
  • Knowledge of compiler technologies and optimization techniques.
  • Strong understanding of software architecture, analysis, and design methodologies.

Scheduled Weekly Hours:

40

Compensation Hiring Base Salary Range:

$131,250.00 - $181,250.00

Please be advised that the compensation hiring range indicated herein is provided solely as a good-faith estimate of expected base compensation for the position. The actual compensation offered will be determined at the time of hire and is contingent upon multiple factors, including but not limited to the candidate's qualifications, relevant experience, demonstrated skills, and results of assessments conducted during the hiring process.

Bonus:

The BlackBerry Variable Incentive Pay (VIP) program is an organization-wide bonus incentive program which aims to reward full-time eligible employees for their contribution to BlackBerry's success. VIP payments are made in addition to base salary and factor in company's performance as a way for employees to share in BlackBerry's achievements.

Benefits:

The BlackBerry Employee Benefits programs offer a wide range of benefits that support your physical, financial and personal well-being. BlackBerry remains committed to offering affordable benefits including coverage for medical, dental, vision, life, disability insurance, retirement, employee share purchase program and paid-time-off to those that meet the eligibility requirements.

Disclosure of Position Status:

This is an active opening. We are seeking to fill this position immediately

Disclosure of Artificial Intelligence:

We donot use artificial intelligence (AI)to screen, assess, or select applicants at any stage of our recruitment process. All applications are reviewed and evaluated by our hiring team.