Worker Sub-Type : Regular
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 , 24 of the top 25 EV manufacturers and is running in more than 235 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 interested in working with an elite team of developers that is at the core of everything we do? The Kernel development team has positions available for talented individuals with a mind for details and creative thinking.
You will work at the heart of the most reliable and secure operating system in the world. You can contribute directly to an OS that controls systems in everything from infotainment systems to the internet, from medical devices to space systems, from manufacturing to nuclear power plants, and of course, in the next wave of self-driving cars.
Responsibilities include kernel feature development, hypervisor feature development, memory management, process management, OS services, key libraries enhancements, power management, and performance optimizations, as well as safety and security impact analysis.
Although a strong asset, previous kernel development experience is not a requirement. The ideal candidate is an individual with an understanding of how processes and threads work, how memory is managed, scheduling, has a range of knowledge with multiple operating systems, can solve complex problems, and has the ability to bring new ideas and innovation to the table.
RESPONSIBILITIES
- Work on all levels of the core operating system
- Maintain and continually improve the high standards for system reliability, security, safety, and performance
- Provide technical leadership for QNX kernel and core OS research and development.
- Create and document software specifications and designs that address the needs of our customers.
- Conduct reviews with technical peers to ensure that design guidelines are achieved.
- Write code and complete programming according to specifications.
- Create and execute automated unit tests.
- Identify, analyze and resolve complex software inadequacies.
- Provide project estimates for requirement, design, implementation, and test efforts.
ESSENTIAL SKILLS AND QUALIFICATIONS
- Strong C programming skills, especially on resource-constrained devices and platforms
- Bachelor's degree in Computer Science / Computer Engineering / Electrical Engineering or equivalent
- Knowledge of POSIX based operating system architectures
- Understanding of how user level processes work across each layer of the operating system, including process and thread life cycles, memory management, system calls, and inter-process communication
- Understanding of operating system concepts, including scheduling, concurrency and resource management
- Understanding of multi-cpu, multithreaded architectures and real-time systems
- Strong problem solving and debugging skills
- Excellent communication skills including verbal, written, and interpersonal
- High degree of motivation and ability to work both independently and in a team environment
ADDITIONAL ASSETS
- System-level QNX experience developing resource managers, build / development tools, etc.
- Experience with performance, memory, and post-mortem analysis
- Experience with git, SVN and gnu toolset
- Experience in low-level assembly and register-level programming on ARM and / or x86
- Expertise in embedded and real-time systems development
- Filesystem expertise
- Compiler expertise
- Technical knowledge of software analysis and design techniques
LI-TT1
Scheduled Weekly Hours :