- Salary
- $131k – $181k
- Location
- Ottawa, Ontario, Canada
- Type
- Full-time
- Department
- IT
- Seniority
- Lead
- Education
- Bachelor
- Source
- Workday
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 do not 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.