About the Role
Role
Staff Rust Software Developer
Location
Palo Alto, CA
About Us
We are the movers of the world and the makers of the future. We get up every day, roll up our sleeves and build a better world -- together. At Ford, we are all a part of something bigger than ourselves. Are you ready to change the way the world moves?
Ford's Electric Vehicles, Digital and Design (EVDD) team is charged with delivering the company’s vision of a fully electric transportation future. EVDD is customer-obsessed, entrepreneurial, and data-driven and is dedicated to delivering industry-leading customer experience for electric vehicle buyers and owners.
You’ll join an agile team of doers pioneering our EV future by working collaboratively, staying focused on only what matters, and delivering excellence day in and day out. Join us to make positive change by helping build a better world where every person is free to move and pursue their dreams.
Responsibilities
- 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.
Qualifications
- 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.
- 1+ 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
1+ year experience with the Rust programming language.
Software development
3+ years of software development experience.
API design
Experience in designing simple, elegant APIs with a strong emphasis on clarity and scalability.
SOLID principles
Ability to develop reusable modules using SOLID design principles.
Nice to Have
1+ year experience with C++17 programming language.
Proficiency with scripting languages such as Python and Bash.
Experience profiling and improving embedded software performance.