BlackBerry Limited

Worker Sub-Type:

Job Description:

Job Description

QNX supplies the software used in navigation, entertainment, digital-instrument-clusters, advanced driver assist, and autonomous drive in millions of vehicles around the world including Audi, BMW, Chrysler, GM, Porsche, Toyota, and dozens of others. QNX is the foundation to build next generation automotive systems targeted at all major OEMs across North America, Europe, and Asia.

QNX has been a leading provider of operating systems for the embedded marketplace for over 30 years. Our operating system is used extensively in a wide range of embedded systems to powers some amazing things. You can find our software in high-speed trains, in-car infotainment systems, medical devices, advanced vision systems on the International Space Station, robotics, and industrial automation. We’re pushing the boundaries of human ingenuity to help create mind-blowing systems in mobile, infotainment, medical, aerospace and more.

At QNX you will be presented with the opportunity to solve complex and interesting problems. Pushing the boundaries of current mobile platforms, you will be presented with exciting challenges in mobile development.


• Embedded target side software configuration of BSP, drivers, operating system, graphics, multimedia, and middleware components

• Debugging of software ranging from low-level embedded, graphics, middleware, and applications

• Porting third party C/C++ software to QNX RTOS

• Porting QNX RTOS and middleware technologies to new embedded hardware platforms including Qualcomm, Nvidia, Intel, NXP, and Texas Instruments.

• Merging and maintenance of software across multiple development branches

• Host side target deployment tools and environment

• Analysis of complex system integration issues including boot performance, system stability, and memory optimizations

Essential Skills and Qualifications

• Bachelor’s degree in Computer Science, Mathematics, Engineering or equivalent plus 1-3+ years of relevant work/co-op experience

• Strong C/C++ software development experience

• Experienced in operating systems and real-time embedded systems (software and hardware)

• Experience writing multi-threaded, asynchronous software

• Excellent low-level debugging and problem solving skills

Preferred Experience:

• Experience implementing kernel modules for Linux

• Experience configuring Android

• Experience developing Android applications


Co-op, classroom and/or work experience in one or more of the following areas:

• Completed courses in OS and/or RTOS/CE

• Python

• Jenkins / Hudson configuration

• Device driver or BSP development

• Graphics and OpenGL ES development

• Application development in Qt5, Android, or HTML5


Job Family Group Name:
Product Development

Scheduled Weekly Hours:

Job Overview