
Software Engineer - C++ Development, Vehicle Experience
- Foster City, CA
- $185,000-232,000 per year
- Permanent
- Full-time
- Design and implement real-time software systems in C++ to manage autonomous vehicle ride states, passenger interactions and vehicle control interfaces while ensuring optimal performance on embedded Linux systems.
- Architect and integrate mission-critical software components that process data from multiple vehicle sensors and systems, implementing robust error handling and failsafe mechanisms while adhering to automotive-grade safety standards.
- Analyze system performance metrics and telemetry data to optimize software efficiency, troubleshoot issues, and make data-driven decisions for improving ride management systems.
- Partner cross-functionally with vehicle software teams, cloud engineers, Product Management, Technical Program Management, UX Design, Quality Assurance and Feature Integration teams to deliver integrated solutions that advance our autonomous vehicle technology.
- MS/BS in Computer Science, Engineering or related field with 4+ years of software development experience
- Strong expertise in modern C++ development on Linux systems
- Experience with modern software development practices (Git, CI/CD, code review), automated testing and validation methodologies and cross-team collaboration in large, complex software projects
- Excellent problem-solving skills with ability to analyze requirements and propose technical solutions, document technical designs and decisions and debug complex system-level issues
- Track record of building user-centric product software, collaborating with Product Management and UX designers and ability to translate UX requirements into technical implementations
- Knowledge of robotics, automotive or embedded systems software development, including real-time constraints and hardware interfaces
- Hands-on experience with Data Distribution Service (DDS) middleware in production environments, including performance optimization and fault tolerance
- Proficiency with distributed systems in Java, Kotlin or Python