Principal Software Engineer - BSP at CARIAD, Inc.
Mountain View, CA 94039
About the Job
Role Summary:
The Principal Software Engineer, BSP will play a crucial role in delivering high-performance, reliable, and scalable software that forms the backbone of embedded system solutions. As an SoC and board device drivers expert, you will design, implement, test, root cause issues and debug the BSP for Cariad infotainment platform. This role will help lead the design and development of BSP software, including bootloaders, device drivers, and low-level firmware, plus analyze system performance metrics and implement improvements to meet stringent real-time and embedded system requirements. The Principal Software Engineer, BSP will work closely with cross-functional teams, including hardware design engineers, systems engineers, and quality assurance teams, to ensure cohesive product development and to define system requirements to ensure software compatibility with new hardware designs.
Role Responsibilities:
- Embedded System Development
- Architect, develop, test, release and maintain embedded device drivers for Cariad automotive platform.
- 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.
- Testing, Quality Assurance, Compliance & Standards
- 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.
- 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.
- Collaboration / Communication / Documentation
- 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.
- Create and maintain comprehensive technical documentation including design specification, test reports, bug description, root cause and solution description, user guides, and release notes.
- 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 stay up-to-date with the latest advancements in embedded systems, BSP development, and related technologies to incorporate innovative solutions into the product development process.
- Experience developing from scratch device drivers for multimedia and complex SoC
- Experience developing from scratch device drivers for complex boards with audio, display, high speed interfaces, networking and wireless connectivity
- Experience with board bring-up
- Proficiency in C/C++/Python programming languages
- Experience with Real Time Operating system mechanism and kernels
- Strong knowledge in Linux and Android kernel
- Excellent problem-solving skills and the ability to troubleshoot complex system-level issues.
- Experience with version control systems (e.g., Git), build automation tools, and continuous integration/continuous deployment (CI/CD) pipelines
- Experience with Samsung Automotive SoC
- Experience with Qualcomm or Nvidia SoC BSP is a plus
- Experience with virtual ECU or simulation systems is a plus
- Experience Coding language Rust
- 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.
- 12+ years in embedded software development
- 7+ years in embedded Linux software and device drivers development
- BS in Computer/Electrical Engineering or Computer Science or equivalent experience or a related field.
- MS/PhD in Computer/Electrical Engineering or Computer Science
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 $154,100 - 235,000.
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.