Software Engineer II - Device Drivers

Torc RoboticsAnn Arbor, MI
$160,800 - $193,000

About The Position

The Device Drivers team builds and maintains the software that configures and interfaces with our sensors, moving data from sensors to the systems that consume it primarily using C++. Design and implement software integrating external sensors (PCIe, DMA, Ethernet, CAN) into the system using C++, including debugging and performance tuning at the system level. Maintain software releases and testing artifacts. Optimize real-time behavior, memory usage, and performance of real-time applications running in multi-threaded, multi-core environments. Maintain automated build pipelines, test environments, and test tooling using C++/Python/Bash. Partner with DevOps, QA, Hardware, and Networking teams to troubleshoot issues and ensure system security, stability, and scalability. Integrate and maintain third-party and open-source software. Contribute to technical design discussions and documentation. Provide technical guidance to junior engineers on driver design and debugging approaches.

Requirements

  • Bachelor’s or Master’s in Computer Engineering, Computer Science, or related field, with 3-6+ years of relevant experience.
  • Strong C/C++ proficiency and hands-on experience with device drivers/user-space drivers, Linux embedded development, systemd service management, general Linux system administration, and real-time systems (latency analysis via CyclicTest, ftrace).
  • Working knowledge of build systems (Make, CMake, Yocto, Buildstream, or Bazel), containers/namespace isolation, and hardware interfaces (SPI, I2C, UART, Automotive Ethernet, CAN, GPIO).
  • Comfort with OS fundamentals (system calls, memory/process management, semaphores, mutexes, message queues, shared memory), networking protocols (TCP/IP, SSH, HTTP), and debugging tools (GDB, strace, Valgrind).
  • Git-based version control, CI/CD practices, and Agile/Scrum team experience.

Nice To Haves

  • Nvidia DriveOS exposure
  • ISO 26262/61508 familiarity
  • Automotive ASPICE (V-Cycle) knowledge

Responsibilities

  • Design and implement software integrating external sensors (PCIe, DMA, Ethernet, CAN) into the system using C++, including debugging and performance tuning at the system level.
  • Maintain software releases and testing artifacts.
  • Optimize real-time behavior, memory usage, and performance of real-time applications running in multi-threaded, multi-core environments.
  • Maintain automated build pipelines, test environments, and test tooling using C++/Python/Bash.
  • Partner with DevOps, QA, Hardware, and Networking teams to troubleshoot issues and ensure system security, stability, and scalability.
  • Integrate and maintain third-party and open-source software.
  • Contribute to technical design discussions and documentation.
  • Provide technical guidance to junior engineers on driver design and debugging approaches.

Benefits

  • Competitive comp with bonus and stock options
  • 100% paid medical/dental/vision
  • 401(k) with 6% match
  • generous flexible PTO from day one
  • AD&D/Life Insurance
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service