×
Register Here to Apply for Jobs or Post Jobs. X

Software Engineer, II - Middleware

Job in Ann Arbor, Washtenaw County, Michigan, 48113, USA
Listing for: Torc Robotics
Full Time position
Listed on 2026-05-02
Job specializations:
  • Software Development
    Software Engineer, Embedded Software Engineer, C++ Developer
Salary/Wage Range or Industry Benchmark: 80000 - 100000 USD Yearly USD 80000.00 100000.00 YEAR
Job Description & How to Apply Below

About The Company

At Torc, we have always believed that autonomous vehicle technology will transform how we travel, move freight, and do business. A leader in autonomous driving since 2007, Torc has spent over a decade commercializing our solutions with experienced partners. Now a part of the Daimler family, we are focused solely on developing software for automated trucks to transform how the world moves freight.

Join us and catapult your career with the company that helped pioneer autonomous technology, and the first AV software company with the vision to partner directly with a truck manufacturer.

Meet the Team

The Middleware Engineering Team builds software solutions to uplift our system from open‑source middleware frameworks to an automotive‑grade level, thereby contributing to Torc’s way toward a safe product. Our software components ensure the seamless interaction between the virtual driver applications and the underlying hardware components such as high‑performance systems on a chip, traditional automotive micro‑processors and –controllers as well as sensors or actuators.

What

you'll do
  • Customize existing open‑source Ethernet‑based Middleware Technologies such as ROS2 and SOME/IP.
  • Design, develop, and maintain robust C++ code for embedded Linux systems.
  • Define and develop safety adjustments to the middleware technology.
  • Discuss and contribute changes to the Open‑Source Community.
  • Create a high‑bandwidth Middleware using PCIe Driver.
  • Create a Signal‑Service Interface to the Safety Microcontroller using SOME/IP.
  • Collaborate with hardware engineers and other software team members to define system requirements and architecture.
  • Optimize performance, memory usage, and real‑time behavior of embedded applications.
  • Integrate and maintain third‑party software and device drivers.
  • Develop and execute unit, integration, and system‑level tests.
  • Write and maintain technical documentation, including design documents and user manuals.
  • Participate in code reviews, design discussions, and agile development processes.
  • General Networking Skills
    • Ethernet fundamentals (MTU, Multicast vs unicast)
    • TSN, QOS. HSR, RSTP, PRP
  • Experience working with networked embedded system:
    • Zero copy / shared memory transport concepts
    • DDS
  • Experience in doing network packet performance analysis & debugging
    • Iperf, wireshark, tcpdump
What you’ll need to succeed
  • Bachelors degree in Electrical Engineering, Hardware Engineering, Computer Engineering or related field and 4+ years experience OR Master’s degree in a related field and 2-4 years experience.
  • Deep knowledge of a Middleware Framework, e.g. ROS2, SOME/IP or similar.
  • Experience with PCIe Data Transportation.
  • Experience with Open‑Source Collaboration.
  • 6+ years of professional experience in C++ development for embedded Linux systems.
  • Experience with NVIDIA Drive

    OS.
  • Experience with Embedded Linux Software development.
  • Proficient in modern C++ (C++11/14/17), object‑oriented design, and software engineering principles.
  • Strong understanding of Linux internals, including user space vs kernel space, device trees, and system boot‑up.
  • Experience with cross‑compilation tool chains and build systems (e.g., CMake, Make, Yocto, Buildroot, Bazel).
  • Solid debugging and performance tuning skills using tools like GDB, Valgrind, strace, etc.
  • Experience working in multi‑threaded, multi‑core, and multi‑processor systems.
  • Solid understanding of Semaphore, Mutex, Message Queue, shared memory and other OS concepts.
  • Experience with real‑time operating systems (RTOS) or real‑time Linux.
  • Familiarity with hardware interfaces such as SPI, I2C, UART, Automotive Ethernet, CAN, and GPIO.
  • Knowledge of software version control (e.g., Git), CI/CD practices, and issue tracking systems.
  • Experience with Python, Bash scripting, or other relevant tools for automation and testing.
  • Previous work in industries like automotive, IoT, robotics, or telecommunications.
  • Automotive ASPICE knowledge – V Cycle.
  • ISO‑26262 knowledge and experience with designing software for safety critical systems and/or automotive ECUs.
  • Experience with Vector Cast or GTest for unit testing.
  • Experience working with scrum / Agile teams.
  • Experience in the certification process of automotive…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)
0
200
Filters
Education Level
Experience Level (years)
Posted in last:
Salary