QNX/AUTOMOTIVE EMBEDDED ENGINEER
Quest Global- Posted 16 hours ago
- Be among the first 10 applicants
Job Description
Job Description
We are seeking an experienced Embedded Software Engineer with strong hands-on expertise in C/C++, QNX
Neutrino RTOS, and Embedded Linux to develop, integrate, debug, and optimize platform software for
embedded and automotive systems.
The ideal candidate has strong experience in low-level embedded software development, QNX services,
middleware, IPC, device interfaces, multithreading, and system-level debugging. The candidate will work
closely with BSP, hardware, systems, app
Key Responsibilities
• Design, develop, integrate, and maintain embedded software applications and platform components
using C/C++.
• Develop and integrate software components for QNX Neutrino RTOS and Embedded Linux.
• Develop QNX services, processes, resource managers, and IPC mechanisms.
• Design and develop device drivers and low-level hardware interfaces.
• Implement and troubleshoot inter-process communication (IPC), multithreading, synchronization,
interrupts, and real-time software.
• Develop software for embedded platforms and automotive ECUs/SoCs, including ARM Cortex-A and
Cortex-R based systems.
• Work with communication interfaces and protocols including CAN/CAN FD, Ethernet, TCP/IP, UART,
SPI, I2C, and USB.
• Perform software debugging and system-level troubleshooting using tools such as GDB, QNX
Momentics, and Lauterbach.
• Conduct root-cause analysis of software crashes, memory issues, deadlocks, performance bottlenecks,
boot-time issues, and system integration defects.
• Optimize software for CPU and memory utilization, boot time, reliability, latency, and overall system
performance.
• Develop and maintain unit tests, integration tests, and support technical documentation.
• Collaborate closely with BSP, hardware, systems, application, and validation teams throughout the
software development and integration lifecycle.
• Participate in software architecture and design discussions, code reviews, technical documentation,
and integration activities.
• Support software development processes including Git-based development, issue tracking, CI, code
review, and release activities.
• For Lead Engineer candidates, provide technical leadership, mentor engineers, drive technical
solutions, and take ownership of complex system-level issues.
Requirements
Must Have:
• Bachelor's degree or higher in Computer Science, Electronics, Information Technology,
Telecommunications, Automation, Mechatronics Engineering, or a related field.
• 7+ years of hands-on embedded software development experience.
• Strong programming skills in C and C++.
• Strong hands-on experience with QNX / QNX Neutrino RTOS.
• Strong experience with Embedded Linux development.
• Strong understanding of:
o Multithreading and SMP
o Inter-process communication (IPC)
o Synchronization mechanisms
o Interrupting handling
o Memory management
o Scheduling and task management
o Real-time operating system concepts
o Middleware development
• Hands-on experience developing software for embedded platforms and SoCs based on ARM Cortex-A
and/or Cortex-R architecture.
• Experience with inter-processor communication, including sockets and/or RPMsg.
• Strong experience in system-level debugging, troubleshooting, and root-cause analysis.
• Hands-on experience designing, developing, and testing device drivers and low-level software
interfaces.
• Good knowledge of hardware communication interfaces including I2C, SPI, and UART, particularly in
the context of device-driver development.
• Strong experience developing software for real-time embedded systems.
• Experience with CMake and Make.
• Strong knowledge of Git and modern software development workflows.
• Experience with software development and integration tools such as Jira, Git, SVN, or equivalent.
• Experience developing unit and integration test cases and related technical documentation.
• Good understanding of software development, integration, debugging, and release processes.
Good to Have:
• Experience with Android / Android Automotive OS (AAOS).
• Experience with Android Framework, HAL, AIDL, and/or HIDL.
• Experience developing BSPs, device drivers, bootloaders, or other low-level platform software.
• Experience in automotive infotainment, digital cockpit, telematics, or connected vehicle systems.
• Experience with Renesas R-Car or similar automotive SoC platforms.
• Working knowledge of CAN/CAN FD, Ethernet, and TCP/IP.
• Experience working in multi-OS environments using hypervisors.
• Experience with Agile software development methodologies.
• Knowledge of static analysis, code quality, and code coverage tools.
• Knowledge of embedded processor architectures and hardware accelerators such as ISP, GPU, NPU,
and related subsystems.
• Strong problem-solving, communication, and cross-functional collaboration skills
More Info
Key Skills
Real-time operating system concepts
ARM Cortex-A
QNX Neutrino RTOS
Synchronization mechanisms
