QNX Everywhere Embedded Software Developer II
- Ottawa, ON, Canada
$90,000.00 - $126,000.00 · Full-time
Applications open in a new tab.
Job details
- Pay
- $90,000.00 - $126,000.00
- Job type
- Full-time
- Apply by
- Posting language
- English
- Posted
Original job description
Worker Sub-Type:
RegularJob Description:
QNX, a division of BlackBerry Limited (NYSE: BB; TSX: BB), provides the trusted foundation that software-defined and physical AI systems depend on to operate safely and predictably in the real world. For nearly half a century, QNX has powered safety-critical applications where failure is not an option. The business leads the way in delivering safe and secure operating systems, hypervisors, middleware, solutions, and development tools, along with the support and services delivered by trusted embedded software experts. Today, QNX technology underpins hundreds of millions of vehicles on the road and a wide range of mission-critical systems across industrial controls, robotics, medical devices, commercial transportation, rail, and aerospace and defense.
Are You The Person We're Looking For?
Are you passionate about systems software, open-source technologies, and solving complex technical challenges? Do you enjoy working at the intersection of operating systems, developer tools, AI, robotics, and embedded platforms? At QNX, we're on a mission to become the platform of choice for modern embedded software development through our QNX Everywhere initiative. We're building a rich open-source ecosystem that enables developers to leverage many of the technologies traditionally found on Linux, natively on the QNX Real-Time Operating System (RTOS). We're looking for someone who is excited by the opportunity to help bridge the gap between QNX and the open-source community by bringing modern frameworks, AI/ML technologies, robotics platforms, and developer tools to QNX. You'll thrive in this role if you enjoy working across a broad technical stack, from operating systems and middleware to developer tooling, AI frameworks, and embedded platforms.
What You'll Do:
- Develop Software with Broad Range of Technologies: C, C++, Python, and Rust for the QNX RTOS. Projects span a wide array of domains, including:
- System & Web Runtimes: Node.js, GTK, SQLite, Boost.
- Networking & Middleware: SOME/IP, MQTT, DDS, Zenoh.
- Physical AI & Robotics: ROS2, OpenPI, Google MediaPipe, OpenCV, ONNX Runtime, PyTorch/ExecuTorch, TensorFlow.
- Target Platforms: Raspberry Pi, SBCs, QEMU, various robotics kits
- Integrate QNX and Open-Source: Integrate open-source projects with core QNX technologies (graphics, networking, USB, audio, sensors, and multimedia).
- Toolchain Support: Develop OS-specific abstraction layers, shims, and porting libraries; adapt cross-compilation build systems (CMake, Meson, Bazel, Cargo, GN/Ninja, BitBake) for QNX toolchains.
- Performance Optimization: Perform low-level profiling, memory footprint reduction, latency tuning, and performance optimization on embedded target hardware.
- Industry Events and Demonstrations: Develop and deliver demonstrations that showcase QNX solutions at key industry events to customers, partners, and industry peers, with a focus on Physical AI and robotics.
What You Bring:
- Strong software development experience in C and C++ (C++14/17/20) and Python.
- Proven experience with Linux/Unix development environments and cross-compilation toolchains (CMake, Meson, Ninja, Make, BitBake).
- Solid understanding of operating system internals and POSIX APIs (pthreads, IPC, memory management, networking sockets).
- Excellent communication skills with an interest in collaborating within open-source developer communities.
- Self-motivated with a passion for building software ecosystems.
- Bachelor’s degree in Computer Science, Computer Engineering, Software Engineering, or equivalent practical experience.
It Would Be Nice If You Had Any of the Following:
- Experience porting, building, or maintaining large open-source projects or Linux distributions.
- Experience or interest in Physical AI, Robotics, or Vision frameworks (e.g., ROS 2, OpenPI, MediaPipe, ONNX Runtime, PyTorch/ExecuTorch, TensorFlow, OpenCV).
- Experience with GPU / Heterogeneous Compute stacks (NVIDIA CUDA/TensorRT, AMD ROCm, Vulkan Compute, OpenCL) on platforms like NVIDIA Thor/IGX or AMD silicon.
- Knowledge of embedded GUI engines (Qt, GTK), or automotive/industrial middleware (DDS, SOME/IP, MQTT).
- Hands-on experience with RTOS environments (QNX, VxWorks, FreeRTOS, Zephyr) or Linux kernel/driver internals.
- Familiarity with Rust and Cargo build targets for embedded or systems programming.
Scheduled Weekly Hours:
40Compensation Hiring Base Salary Range:
$90,000.00 - $126,000.00Please 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 immediatelyDisclosure 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.
More about this job
Responsibilities
Develop and integrate software for the QNX RTOS using C, C++, Python, and Rust across various domains including AI, robotics, and middleware. Perform low-level performance optimization and develop OS-specific abstraction layers to support modern open-source frameworks.
Requirements
Requires strong software development experience in C and C++ with a solid understanding of operating system internals and POSIX APIs. Candidates must hold a bachelor's degree in Computer Science, Computer Engineering, or a related field.
Skills
- C
- C++
- Python
- Rust
- QNX RTOS
- Linux
- POSIX APIs
- CMake
- Meson
- BitBake
- ROS2
- Embedded systems
- Middleware
- Performance optimization
- Cross-compilation
Benefits
- Medical insurance
- Dental insurance
- Vision insurance
- Life insurance
- Disability insurance
- Retirement plan
- Employee share purchase program
- Paid time off
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
Keywords
- QNX
- RTOS
- Embedded Software
- C++
- Python
- Rust
- Linux
- POSIX
- Middleware
- ROS2
- OpenPI
- MediaPipe
- OpenCV
- ONNX Runtime
- PyTorch
- TensorFlow
- CMake
- Meson
- Bazel
- BitBake
- Networking
- System Runtimes
- Physical AI
- Robotics
- Cross-compilation
- Performance Optimization
- Embedded Platforms
- Operating Systems
- Developer Tools
- Software Engineering