
Staff Software Developer – Rust Programming
DORLECO
Job description
Client’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.
In this position...
As a key member of our team, you will be responsible for designing and developing complex infotainment systems with a focus on high performance HMI. You'll collaborate with cross-functional teams to ensure seamless integration of software and hardware components. Our ideal candidate is an enthusiastic, detailed oriented self-starter who demands developer-friendly APIs, bulletproof code, and adheres to SOLID principles and TDD. You will be responsible for participating in the design and development of services, frameworks, and APIs to enable the development of services and applications to allow users to interact with features such as navigation, media, entertainment, phone,
voice, and vehicle settings.
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.
Even better, you may have...
-
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, showcasing a strong understanding of its benefits and effectiveness in collaborative software development.
-
Proficient working in Linux and macOS environments.
-
Proficient with version control systems, such as Git, and Agile development methodologies.
-
Proven experience in designing simple, elegant APIs with a strong emphasis on clarity, scalability, flexibility, versioning, and error handling.