Senior Software Architect - Infotainment
Role details
Job location
Tech stack
Job description
-
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.
Requirements
-
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.