Software Engineer, II - Middleware

Torc RoboticsAnn Arbor, MI
$139,000 - $166,800

About The Position

At Torc, we believe autonomous vehicle technology will transform travel, freight, and business. A leader in autonomous driving since 2007, Torc has commercialized solutions with experienced partners for over a decade. Now part of the Daimler family, Torc focuses solely on developing software for automated trucks to transform global freight movement. The Middleware Engineering Team, in collaboration with internal and external partners, builds software solutions to elevate the system from open-source middleware frameworks to an automotive-grade level, contributing to Torc's path towards a safe product. These software components ensure seamless interaction between virtual driver applications and underlying hardware, including high-performance systems on a chip, traditional automotive micro-processors and -controllers, sensors, and actuators.

Requirements

  • 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
  • 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

Responsibilities

  • 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.

Benefits

  • 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
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service