Worker Sub-Type:
RegularJob Description:
QNX, a division of Black Berry 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 are looking for?
The Product Engineering unit is focused on product opportunities as they relate to our markets and the growth of our product portfolio considering the future technology. In this role, you will be responsible for maintaining and augmenting the graphics subsystem (Window system, Display controllers and GPU drivers) on both native and virtualized systems. You must be someone with ideas and real passion for software delivered to maximize reuse, efficiency, and simplicity.
Our customers count on us to convert awesome ideas into great products and services.
We thrive in a culture of innovation, technical depth and breadth, exploration and experimentation and provide great career growth opportunities. In return for your skills, expertise, and passion, we will provide you with an attractive compensation & bonus package with excellent benefits. Join us and you will become part of a team that is already leading the way and has even bigger plans for the future.
What we are working on is truly ground-breaking!
You will:
Develop 2D and 3D graphics drivers for a wide range of GPU’s and maintain QNX Graphics subsystem (Display, GPU, Window system, font engine).
Read technical register documentation and schematics
Create and document software specifications and designs that address the needs of QNX customers.
Unit test and debug implementations on all relevant target architectures for the project (ex. ARM and X86).
Identify, analyze, and resolve potentially complex problems and inadequacies in software.
Integrate QNX Hypervisor and Android onto embedded hardware platforms.
Provide project estimates for requirement, design, implementation, and test efforts.
Maintain an in-depth understanding of current software department approaches and standards through communication with development team members, technical leads, and management.
You will have:
Bachelor’s degree in Computer Science, Computer Engineering or Engineering related field, or equivalent practical experience with a proven track record in technical roles
Proven and significant driver development experience in C, C++ and assembly language.
Proven experience in 2D and 3D graphics
Expertise in embedded systems on major processor architectures (ARM, x86, PPC, etc.)
A thorough understanding of Operating System concepts (virtual memory, multithreading etc.)
Expertise in troubleshooting and debugging (by instrumentation, trace logging, core-analysis, applying various tools to extract information, code-reviews, JTAG, etc.)
Strong analytical skills, software debugging skills and troubleshooting skills, hands-on experience with the tools and techniques necessary to perform root cause analysis, and ability to come up with win-win solutions in complex business situations.
Excellent communication, interpersonal and collaboration skills to work with a diverse, global set of internal and external stakeholders.
If you have any of these then that would be great:
Familiarity with OpenGL/OpenGL ES/Vulkan
Linux graphics subsystem (x11/Wayland)
Programming experience in a POSIX environment
Familiarity with the QNX Neutrino RTOS
Work closely with QNX customers and 3rd party HW 2D/3D vendors.
Graphics application development (e.g. video games)
Graphics debugging
Graphics optimization
Graphics virtualization
Familiarity with display controllers.
Familiarity with Android and WebGL…
To Search, View & Apply for jobs on this site that accept applications from your location or country, tap here to make a Search: