Develop reusable software tools and validation frameworks for Arene products, testing firmware and software on hardware benches and contributing to reliable, scalable testing across vehicle-related technologies.
Software Engineer II, Arene Applied Engineering
📜 Description
- Design and deliver production C++ components, middleware, drivers, and services that integrate with vehicle hardware.
- Bring software up on hardware and debug issues involving timing, communication, resources, and sensor interfaces.
- Develop hardware-agnostic abstractions and APIs that support reuse across ECUs, sensors, and vehicle platforms.
- Contribute to Arene platform elements for ADAS, cockpit, and related domains, collaborating on integration and deployment.
- Test across unit, integration, HIL, bench, and vehicle environments; build tools that reduce integration friction.
- Troubleshoot cross-domain system issues, document designs, and contribute to code reviews and engineering practices.
🛠️ Requirements
- 4+ years of experience with modern C++, preferably C++14/17, writing production software for real systems.
- Bachelor’s or master’s degree in computer science, embedded engineering, or a similar domain.
- Hands-on experience integrating software with physical hardware in embedded, automotive, robotics, or self-driving contexts.
- Understanding of embedded and resource-constrained environments, real-time considerations, and low-level hardware interaction.
- Experience with CAN, Ethernet, or similar communication protocols and/or middleware or IPC patterns.
- Ability to own features end-to-end, with strong debugging, systems troubleshooting, and technical communication skills.
- Automotive or ADAS experience, Linux or QNX, Bazel, CI/CD, HIL testing, or reusable software platforms are advantageous.
✨ Benefits
- Health coverage
- Wellness coverage
- Dental coverage
- Vision coverage
- 401(k) program
- Flexible vacation policy
- Family planning and care benefits
Full job description
TEAM
Arene Applied Engineering is a diverse team of engineers dedicated to helping Toyota build software defined vehicles utilizing the Arene platform and tools. Our work begins with a deep understanding of our Toyota customers—their objectives, challenges, workflows, and technical environments. We partner closely with them to identify pain points, evaluate opportunities, and translate their needs into clear product direction and engineering requirements.
In addition to shaping product direction, we develop targeted solutions that help customers make effective use of the existing Arene platform and tools. We work across teams to ensure that our solutions are reliable, maintainable, secure, fully integrated, and ready to operate in production environments. We take ownership from initial discovery through deployment and ongoing improvement. Our goal is not only to solve individual problems, but to create solutions that scale across Toyota and strengthen the overall Arene ecosystem.
We are a collaborative, hands-on, and customer-focused team that values technical rigor, practical problem-solving, clear communication, and end-to-end ownership.
About the Role and Context
Woven by Toyota is Toyota’s software and mobility subsidiary. Arene is its flagship software development platform and vehicle software foundation for software-defined vehicles (SDVs). It combines an SDK, tools, and data capabilities to standardize development, enable software reuse across hardware and vehicle generations, and support continuous improvement (including OTA).
Arene has already shipped in production (first on the new Toyota RAV4 for Toyota Safety Sense / ADAS and cockpit features; expanding toward ~50 models and 10 million vehicles annually by 2030). It emphasizes decoupling software from specific hardware via abstractions and APIs, while still requiring rigorous real-vehicle and hardware-in-the-loop integration. Work spans ADAS/safety systems, cockpit, middleware, and (increasingly) more centralized vehicle architectures.
This role is for a hands-on engineer who writes production C++ and owns the hard part of making software actually work with real vehicle hardware, ECUs, sensors, and networks. The strongest fit is typically someone who has worked in software integration or embedded systems roles at a self-driving, autonomous, or advanced ADAS company, where they shipped code that ran on the vehicle under real-time, safety, and resource constraints.
Responsibilities
Design, implement, and deliver production-quality C++ software components, middleware, abstraction layers, drivers, and services that integrate with real vehicle hardware (ECUs, sensors, networks, compute platforms).
Own software-hardware integration work: bring software up on hardware, debug issues across the stack (timing, communication, resource constraints, sensor interfaces, etc.), and drive it to production quality.
Develop and refine hardware-agnostic abstractions and APIs so software can be portable and reusable across different ECUs, sensors, vehicle platforms, and generations while still meeting real-time and safety requirements.
Contribute to Arene SDK / vehicle platform elements used for ADAS, cockpit, or related domains; collaborate with internal teams and partners on integration, testing, and deployment.
Work across the full loop: code, unit/integration tests, hardware-in-the-loop (HIL) or bench setups, vehicle testing, and feedback into the platform. Support or build tooling that reduces manual integration friction.
Debug complex, multi-domain issues involving software, hardware interfaces (CAN, Ethernet, etc.), timing, and system behavior. Produce clear technical documentation and design artifacts as needed.
Collaborate with global teams (including Japan-based partners) and help raise the quality bar through code reviews, practical engineering practices, and continuous improvement.
Required Skills and Experience
4+ years of experience with strong modern C++ (C++14/17 preferred; ability to work in constrained, safety-minded environments). Comfortable writing production code that ships on real systems—not just prototypes.
Bachelor or Masters degree in computer science, embedded engineering, or similar domain.
Hands-on experience integrating software with hardware in embedded, automotive, robotics, or self-driving contexts. You have personally brought code up on physical systems, debugged interface/timing/resource issues, and gotten it working reliably.
Experience in a software integration, embedded systems, or vehicle software role (or equivalent) at a self-driving, autonomous, or advanced ADAS company is a strong positive. Familiarity with the realities of vehicle compute, sensors, real-time constraints, and shipping software that must work in the field.
Solid understanding of embedded/resource-constrained environments, real-time considerations, and low-level hardware interaction (or the ability to ramp quickly).
Experience with vehicle or robotics communication protocols (CAN, Ethernet, or similar) and/or middleware/IPC patterns.
Proven ability to own features end-to-end: design, implement, test, debug, and deliver. Strong debugging and systems troubleshooting skills.
Comfortable working in collaborative, cross-functional, and often multi-site environments. Clear technical communication.
Nice-to-Have
Automotive experience (ADAS, cockpit, body, or related domains) or exposure to standards such as ISO 26262, AUTOSAR, or MISRA-style practices.
Experience with Linux-based vehicle systems, QNX, or similar RTOS; Bazel or similar build systems; CI/CD for embedded workflows.
Familiarity with hardware-in-the-loop (HIL), simulation-to-hardware continuity, or virtualized testing environments.
Prior work on software platforms, SDKs, or abstraction layers intended for reuse across hardware.
Knowledge of sensors common in ADAS/autonomy (cameras, radar, lidar, etc.) or vehicle electrical architectures.
Interest in (or light exposure to) functional safety, security, or performance optimization under constraints.
Similar jobs
Search more Software Engineer jobsSoftware Engineer - Load Balancing
Design, build, and operate Cloudflare’s Load Balancing systems, developing reliable distributed services and improving production health while collaborating across engineering, security, SRE, and product teams.
Build and evolve automated document-processing products, translating business needs into software, guiding technical direction, and contributing to high-quality engineering practices across the product lifecycle.
Own client-facing engineering solutions end to end: investigate operational problems, guide clients toward practical approaches, and configure or build, test, and ship software that delivers lasting outcomes.
Own client-facing engineering engagements from discovery through deployment, translating operational problems into practical platform configurations or production software and ensuring solutions are adopted and deliver results.
