About the Role
About the Role
As a Staff Software Developer focusing on Rust programming, you will design and develop complex infotainment systems while collaborating with cross-functional teams. Your role involves creating high-performance APIs and ensuring seamless integration of software and hardware components to enhance user experience in electric vehicles.
What You'll Do
- Design and develop Rust services in support of infotainment systems and any supporting frameworks.
- Develop reusable modules using SOLID design principles.
- Prepare and maintain comprehensive documentation on software design, architecture, and API usage.
- Create proof of concepts for next generation infotainment systems.
- Optimize performance by profiling, analyzing, and improving the application code and system integration to enhance overall efficiency.
- Participate in system design, documentation, and testing.
- Collaborate with cross-functional teams to ensure successful integration of software components.
- Work in an agile team of software developers, test engineers, technical product managers and leads.
Who You Are
- Bachelor’s degree in engineering or computer science.
- 3+ years of software development experience.
- 1+ year experience with the Rust programming language.
- 1+ year experience in designing simple, elegant APIs with a strong emphasis on clarity, scalability, flexibility, versioning, and error handling.
Bonus Points
- Master’s degree in engineering or computer science.
- 3+ year experience with C++17 programming language.
- Proficiency with scripting languages (Python, Bash).
- Experience profiling and improving embedded software performance.
- Demonstrated expertise and proficiency in pair programming.
- Proficient working in Linux and macOS environments.
- Proficient with version control systems, such as Git, and Agile development methodologies.
Requirements
Rust programming
You must have at least 1 year of experience with the Rust programming language.
Software development experience
A minimum of 3 years in software development is required.
API design
Experience in designing simple, elegant APIs with a focus on clarity and scalability is essential.
SOLID principles
You should be familiar with SOLID design principles for developing reusable modules.
Nice to Have
Experience with C++17 is a plus.
Proficiency in scripting languages like Python or Bash is beneficial.
Experience in profiling and improving embedded software performance is advantageous.
Demonstrated expertise in pair programming is a plus.