Must Have: QNX Embedded Software Development & Linux Migration, Linux Migration Expertise, System Architecture and Design, Leadership and Mentorship, Continuous Improvement
Key Responsibilities
- QNX Embedded Software Development
- Lead the development, integration, and optimization of embedded systems on QNX platforms.
- Design and implement real-time software components for critical applications, ensuring performance, reliability, and security.
- Troubleshoot and resolve system-level issues related to QNX-based embedded platforms.
- We are seeking a highly skilled and experienced Principal Engineer specializing in QNX embedded software development, with a proven track record in designing, developing, and migrating embedded systems to Linux-based platforms as needed.
- In this role, you will lead complex technical projects, drive system architecture decisions, and provide strategic guidance on migration efforts based on business and technical requirements.
- Linux Migration Expertise:
- Assess the feasibility of migrating existing QNX-based systems to Linux, evaluating technical complexity, resource requirements, and business impact.
- Define migration strategies, including system architecture re-design, software component adaptation, and hardware compatibility checks.
- Lead the migration process, ensuring smooth transitions while minimizing downtime and maintaining functionality.
- System Architecture and Design:
- Architect scalable, modular, and maintainable embedded software solutions.
- Evaluate and select tools, frameworks, and libraries suitable for QNX and Linux-based systems.
- Collaborate with cross-functional teams to ensure alignment of software and hardware requirements.
- Leadership and Mentorship:
- Guide and mentor junior engineers on best practices in embedded software development and migration processes.
- Act as a technical authority, driving decision-making and setting standards for embedded development projects.
- Continuous Improvement:
- Stay updated on industry trends, emerging technologies, and best practices in QNX and Linux-based embedded systems.
- Propose and implement improvements in development processes, tools, and methodologies.
Required Qualifications:
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or a related field.
- 10+ years of experience in embedded software development, with significant expertise in QNX and real-time operating systems (RTOS).
- Strong proficiency in **C/C++** programming for embedded systems.
- Proven experience in **migrating embedded systems from QNX to Linux**, including re-architecting software components and resolving compatibility challenges.
- Deep understanding of real-time systems, multi-threading, inter-process communication (IPC), and performance optimization.
- Hands-on experience with hardware interfaces (e.g., UART, SPI, I2C) and debugging tools (e.g., GDB, trace analyzers).
Preferred Qualifications:
- Experience with **Yocto Project** and building custom Linux distributions.
- Knowledge of hardware platforms such as ARM, x86, or custom SoCs.
- Familiarity with safety-critical standards such as ISO 26262, DO-178C, or IEC 61508.
- Excellent communication and collaboration skills to work effectively with cross-functional and geographically dispersed teams.
Key Competencies:
- Strong analytical and problem-solving skills with the ability to navigate complex technical challenges.
- Leadership in driving architectural decisions and fostering a culture of technical excellence.
- Adaptability to changing business needs and technical landscapes, with a focus on delivering high-quality results.