B

Blackberry

Enterprise software and cybersecurity solutions provider

Embedded Software Developer 2

Systems Software EngineeringConfirmed live in the last 24 hours
Full-timeOttawa, ON, CanadaIn-person

About the Job

Requirements

  • Strong software development experience in C and C++ (C++14, C++17, or C++20) and Python.
  • Proven experience with Linux/Unix development environments and cross-compilation toolchains including CMake, Meson, Ninja, Make, and BitBake.
  • Solid understanding of operating system internals and POSIX APIs, including pthreads, inter-process communication, memory management, and networking sockets.
  • Bachelor’s degree in Computer Science, Computer Engineering, Software Engineering, or equivalent practical experience.

Responsibilities

  • Develop software for the QNX Real-Time Operating System using C, C++, Python, and Rust across system and web runtimes, networking and middleware, physical AI and robotics, and target platforms.
  • Integrate open-source projects with core QNX technologies including graphics, networking, USB, audio, sensors, and multimedia.
  • Develop operating-system-specific abstraction layers, shims, and porting libraries; adapt cross-compilation build systems including CMake, Meson, Bazel, Cargo, GN/Ninja, and BitBake for QNX toolchains.
  • Perform low-level profiling, memory-footprint reduction, latency tuning, and performance optimization on embedded target hardware.
  • Develop and deliver demonstrations showcasing QNX solutions at industry events to customers, partners, and industry peers, focusing on physical AI and robotics.

Desired Qualifications

  • Experience porting, building, or maintaining large open-source projects or Linux distributions.
  • Experience or interest in physical AI, robotics, or vision frameworks such as ROS 2, OpenPI, MediaPipe, ONNX Runtime, PyTorch/ExecuTorch, TensorFlow, and OpenCV.
  • Experience with GPU or heterogeneous-compute stacks such as NVIDIA CUDA/TensorRT, AMD ROCm, Vulkan Compute, or OpenCL on platforms such as NVIDIA Thor/IGX or AMD silicon.
  • Knowledge of embedded GUI engines such as Qt or GTK, or automotive/industrial middleware such as DDS, SOME/IP, or MQTT.
  • Hands-on experience with RTOS environments such as QNX, VxWorks, FreeRTOS, or Zephyr, or Linux kernel/driver internals.
  • Familiarity with Rust and Cargo build targets for embedded or systems programming.

About the Company

Blackberry

Enterprise software and cybersecurity solutions provider

BlackBerry focuses on enterprise software and cybersecurity after transitioning from hardware. It provides secure software solutions for business communication, collaboration, and mobile device management, along with security analytics and threat detection. The product suite typically includes enterprise mobility management, secure messaging and data protection, and endpoint security services for organizations. BlackBerry’s approach centers on protecting corporate data and identities, with services that manage devices, apps, and networks while monitoring for cyber threats. The company differentiates itself by emphasizing security, governance, and risk management for enterprise customers, integrating threat intelligence and analytics. The goal is to help businesses stay secure, compliant, and productive in a mobile-first world.

Company size
1-10
Company stage
IPO
Headquarters
Waterloo, Canada
Founded
1984

Recently Posted Jobs

Explore more opportunities at Blackberry

See more jobs