Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
8+ years of extensive experience in software development.
Proven experience in designing and architecting complex software systems.
Expert proficiency in C++ with strong debugging skills in multiple environments.
Solid understanding of Linux internals and basic device driver concepts.
Architect-level understanding of QNX OS internals including microkernel architecture and IPC.
Exceptional analytical and problem-solving skills for complex technical challenges.
Demonstrated technical leadership experience, particularly within AOSP or similar contexts.
Responsibilities
Define and communicate architectural vision aligned with business goals.
Lead the design of complex software systems across technology stacks.
Evaluate new technologies and conduct technical feasibility studies.
Recommend new technologies to enhance development efficiency.
Design and execute virtualization concepts for QNX functionalities.
Provide technical guidance and mentorship to software engineers.
Act as the primary technical contact for complex issues and debugging efforts.
Effectively communicate technical progress and architectural decisions.
Benefits
Opportunities for technical skill development and continuous learning.
Foster a culture of innovation within the team.
Work alongside a team of expert engineers in a collaborative environment.
Engagement in cutting-edge technologies in software architecture and design.
Full Job Description
Job Description
Core Responsibilities:
Architectural Vision & Strategy: Define, evolve, and communicate the architectural roadmap for various software products and platforms, ensuring alignment with business goals, product requirements, and industry best practices.
System Design & Documentation: Lead the design of complex software systems, components, and interfaces across different technology stacks. Create and maintain comprehensive architectural documentation (e.g., design documents, architectural diagrams, API specifications).
Technical Feasibility & Risk Assessment: Evaluate new technologies, frameworks, and approaches. Conduct technical feasibility studies and identify potential risks and mitigation strategies for architectural decisions.
Technology Selection: Recommend and justify the adoption of new technologies, tools, and methodologies that enhance development efficiency and product quality.
Virtualization and System Performance: Design and execute QNX virtualization concepts for Cluster, ADAS and IVI functionalities as well as ensure optimal system performance of defined concepts
Technical Guidance & Mentorship: Provide expert technical guidance, mentorship, and support to a team of software engineers. Foster a culture of technical excellence, continuous learning, and innovation within the platform domain.
Problem Solving & Troubleshooting: Act as the primary technical point of contact for complex issues, leading debugging efforts and root cause analysis within the AOSP stack, and guiding the team in resolving critical challenges.
Technical Communication & Reporting: Effectively communicate technical progress, challenges, and architectural decisions (especially those related to platform and AOSP work) to both technical and non-technical stakeholders, ensuring clarity and alignment.
Technical Skill Development: Identify and promote opportunities for technical skill development within the team, sharing knowledge and best practices for platform and AOSP development.
Qualifications
Required Qualifications:
Education: Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
Software Engineering Experience: 8+ years of extensive experience in software development, with a strong foundation in diverse software engineering principles.
Architectural Expertise: Proven experience in designing and architecting complex software systems, demonstrating a breadth of knowledge across different technologies and platforms.
Programming Languages: Expert proficiency in C++ with strong debugging skills in multiple environments.
Linux Expertise: Solid understanding of Linux internals, including system calls, processes, memory management, and basic device driver concepts.
QNX Expertise: Architect-level understanding of QNX OS internals, including microkernel architecture, message passing, process models, drivers, and inter-process communication (IPC).
Problem-Solving: Exceptional analytical and problem-solving skills, with the ability to tackle complex technical challenges in both architectural design and hands-on Android/QNX debugging.
Technical Leadership: Demonstrated experience in providing technical leadership and guidance to engineering teams, particularly within AOSP or similar embedded Android/QNX contexts.
Communication: Excellent verbal and written communication skills, with the ability to articulate complex technical concepts to diverse audiences, from junior engineers to executive stakeholders.
Preferred Qualifications:
Experience with other embedded systems development.
Experience with performance optimization and profiling tools for Android/Linux/QNX.
Understanding of security best practices in the Android/QNX ecosystem.
Prior experience in embedded cockpit or infotainment development.