Search all jobs
Browse jobsAnn Arbor, MI › Software Engineer, II - Middleware

Software Engineer, II - Middleware

Torcrobotics · Ann Arbor, MI · Posted Jun 25, 2026

Apply on company site   Track it in JobSkout

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:

Together with our internal and external partners, the Middleware Engineering Team builds software solutions to uplift our system from open-source middleware frameworks to an automotive grade level, thereby providing contribution to Torcs way towards 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 v/s 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 DriveOS

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 toolchains 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 operating

system 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 products

You enjoy working in an agile environment

Perks of Being a Full-time Torc’r

Torc cares about our team members and we strive to provide benefits and resources to support their health, work/life balance, and future. Our culture is collaborative, energetic, and team focused. Torc offers:

A competitive compensation package that includes a bonus component and stock options

100% paid medical, dental, and vision premiums for full-time employees

401K plan with a 6% employer match

Flexibility in schedule and generous paid vacation (available immediately after start date)

AD+D and Life Insurance

At Torc, we’re committed to building a diverse and incl…

Apply on company site