We are CARIAD, an automotive software development team with the Volkswagen Group. Our mission is to make the automotive experience safer, more sustainable, more comfortable, more digital, and more fun. To achieve that we are building the leading tech stack for the automotive industry and creating a unified software platform for over 10 million new vehicles per year. We’re looking for talented, digital minds like you to help us create code that moves the world. Together with you, we’ll build outstanding digital experiences and products for all Volkswagen Group brands that will transform mobility. Join us as we shape the future of the car and everyone around it.
Role Summary:
The Staff Embedded Software Engineer, Android Framework role is responsible for architecting, designing, extending, and implementing software modules related to graphic and video pipeline inside the infotainment system.
Role Responsibilities:
- Embedded System Development
- Architect, develop, test, release and maintain embedded device drivers for Cariad automotive platform.
- Own software features end-to-end and deliver high quality, testable, and peer reviewed software components.
- Identify bottlenecks and optimize system performance through tuning of priorities, code complexity reduction, and system-level optimizations.
- System Integration
- Integrating Board-Support-Package with the hardware (board and SoC) and the rest of infotainment software.
- Collaborating with hardware engineers, vendors, partners and other software teams to ensure seamless integration between software and hardware components.
- Conducting integration testing to ensure compatibility and performance.
- Compliance and Standards
- Ensuring the software complies with automotive industry standards and regulations (e.g., ISO 26262).
- Staying up-to-date with emerging technologies and industry trends.
- Implementing best practices for software development and quality assurance.
- Testing and Quality Assurance
- Developing and executing test plans to ensure software quality and reliability
- Conducting unit testing, integration testing and system testing.
- Addressing bugs and performance issues identified during testing.
- Collaboration and Communication
- Collaborate effectively with cross-functional teams including software, hardware, and quality assurance teams.
- Communicate project status, technical challenges, and solutions in a clear and concise manner.
- Documentation
- Create and maintain comprehensive technical documentation including design specification, test reports, bug description, root cause and solution description, user guides, and release notes.
- Will this role conduct or participate in any system-critical design reviews?
General Skills:
- Analytical and debugging skills.
- Effective written and oral communication skills.
- Experience in functional and technical leadership.
- Ability to lead technical meetings and provide feedback.
- Collaborate and work with multiple teams across geographies and time zones.
- Ability to work independently and in a team environment.
- Strong communication and interpersonal skills.
Required Specialized Skills:
- Proficiency in C/C++ programming languages.
- Knowledge of Rust programming language.
- Knowledge of scripting languages such as Python, Bash, or Perl.
- Experience implementing device drivers for display interfaces (HDMI, DP, DSI) and SER/DES
- Experience implementing and improving performances GPU and DPU drivers
- Deep knowledge how Android AOSP, AAOSP and Linux display and graphic pipeline works including each of its components
- Experience or deep understanding how Yocto Linux software build works.
- Experience with graphic pipeline with hypervisor and embedded Linux
- Experience using test automation in a Test-Driven Development (TDD) process is a plus
- Experience working with cross functional teams (product teams, system and validation teams, hardware teams).
- Experience developing software products using Agile process.
Desired Skills:
- Knowledge and experience implementing video codec
- Strong knowledge in image processing
- Experience improving picture quality for embedded devices
- Experience using Generative AI or Large Language Models (LLM) to improve software development efficiency and quality
Workplace Flexibility:
- Calls, (virtual) meetings & workshops (overlapping with German/US business hours as needed) to align with leadership, development teams and partners.
- Occasional international and domestic travel to provide on-site support and planning/integration workshops with our internal and external stakeholders.
Years of Relevant Experience:
- 8+ years in embedded software development
- 3+ years in Android Framework and Kernel development
- 2+ year in embedded software development with RTOS
Required Education:
- BS in Computer/Electrical Engineering or Computer Science.
Desired Education:
- MS/PhD in Computer/Electrical Engineering or Computer Science.
Compensation
Salary range is dependent on factors such as geographical differentials, credentials or certifications, industry-based experience, qualification and training. In the city of Mountain View, California, the salary range for this position is $125,100 - 181,600.
CARIAD, Inc. provides performance based merits and annual bonus along with a competitive benefits package. Benefits include medical, dental, vision, 401k with employer match and defined contribution plan, short and long term disability, basic life and AD&D insurance, employee assistance program, tuition reimbursement and student loan repayment plans, maternity and non-primary caregiver leave, adoption assistance, employee referral program and vacation and paid holidays. We also offer a unique vehicle lease program that covers registration and insurance fees.
CARIAD is an Equal Opportunity Employer. We welcome and encourage applicants from all backgrounds, and do not discriminate based on race, sex, age, disability, sexual orientation, national origin, religion, color, gender identity/expression, marital status, veteran status, or any other characteristics protected by applicable laws.