Worker Sub-Type:
Regular
Job Description:
BlackBerry® QNX® is a trusted supplier of safe and secure operating systems, hypervisors, frameworks and development tools, and provides expert support and services for building the world’s most critical embedded systems. We are the embedded experts. BlackBerry QNX was born in embedded, and provides time-tested and trusted foundation software, including our deterministic microkernel real-time operating system (RTOS), safety-certified products, middleware and security solutions, all purpose-built for embedded systems.
BlackBerry QNX software is trusted by more than 68% of the Electric Vehicle market by volume, 24 of the top 25 EV manufacturers and is running in more than 255 million vehicles globally. Our foundation products have been pre-certified to ISO 26262 ASIL D and we offer a broad range of board support packages, professional services, AUTOSAR adaptive support and middleware solutions – from acoustic management, to digital cockpits to advanced driving assistance (ADAS) - to accelerate development and help OEMs meet Start of Production (SOP) dates.
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 implementations
#LI-KH1
Scheduled Weekly Hours:
40
Top Skills
What We Do
BlackBerry (NYSE: BB; TSX: BB) provides intelligent security software and services to enterprises and governments around the world. The company secures more than 500M endpoints including 195M+ cars on the road today. Based in Waterloo, Ontario, the company leverages AI and machine learning to deliver innovative solutions in the areas of cybersecurity, safety and data privacy solutions, and is a leader in the areas of endpoint security, endpoint management, encryption, and embedded systems. BlackBerry’s vision is clear - to secure a connected future you can trust.