Senior Software Engineer, Portable Motion Libraries
Woven by toyota
Country: United States of America
Location: Palo Alto, CA / Ann Arbor, MI
Time Type: Full Time
Posted On: January 22, 2025
is the mobility technology subsidiary of Toyota Motor Corporation. Our mission is to deliver safe, intelligent, human-centered mobility for all. Through our Arene mobility software platform, safety-first automated driving technology and Toyota Woven City — our test course for advanced mobility — we’re bringing greater freedom, safety and happiness to people and society.
Our unique global culture weaves modern Silicon Valley innovation and time-tested Japanese quality craftsmanship. We leverage these complementary strengths to amplify the capabilities of drivers, foster happiness, and elevate well-being.
TEAM
The AD/ADAS group is responsible for delivering production software to Toyota and Lexus vehicles. The Portable Motion Libraries team focuses on developing reusable C++ libraries and reusable tools to enable the development of production intent AD/ADAS software. The primary focus is on libraries needed for ADAS applications, including linear algebra, optimization, geometry, etc.; all with the requirements of ISO 26262 in mind.
WHO WE ARE LOOKING FOR
For this position, we are looking for a candidate with a software background who is willing and able to work effectively on/in a variety of different areas: numerical algorithms, embedded systems, robotics, or automotive systems and the ability to work hands-on in a fast-paced, collaborative, and intercultural environment.
RESPONSIBILITIES
● Design, develop, and integrate reusable library software for production ADAS systems.
● Design, develop, and integrate reusable static analysis, coverage, and other quality tooling.
● Work with the AD/ADAS subteams, product teams, and others to identify and document C++ library requirements, design and implement library solutions (including testing strategies and integration plans), and coordinate their integration.
● Enable AD/ADAS subteams to understand and improve software quality through high touch engagement with AD/ADAS domain experts.
● Identify build and infrastructure improvements that improve developer efficiency.
● Be a self-driven leader, stay abreast of current best software practices, and mentor other engineers.
MINIMUM QUALIFICATIONS
● 3+ years of C++ development experience.
● Proficiency with shell scripts, Python, bazel, git, Linux, continuous integration.
● Familiarity with constrained runtime and automotive embedded software development.
● Bachelor’s or Master’s degree in Computer Science, Engineering, or equivalent experience
● 2-5+ years of relevant work experience.
● Ability to operate effectively and autonomously across multiple teams, and navigate technical ambiguity with only high-level direction.
● Strong C++ and Python programming skills.
● Strong debugging and troubleshooting skills.
● Generalist attitude with proven ability to dive deep fast and willingness to learn continuously.
● Ability to evaluate approaches and make correct tradeoffs.
NICE TO HAVES
● Experience with automotive, robotics, control theory, abstract algebra.
● Experience with automotive software, ideally ADAS or other safety critical software.
● Insight into real-time, distributed, and parallel computing.
● Experience with ISO 26262, UL 4600, IEC 61508, DO-178C, or other similar safety standards.
● Familiarity with generic programming/generic C++ libraries.
● Experience with developing/maintaining build configuration.