Software Engineer II - Device Drivers

Torc Robotics, Inc.
Ann Arbor, MI, United States
14 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
3 years minimum
Compensation
$160,800.0 - $193,000.0
Working hours
Regular working hours
Job source

Tech stack

Bash Shell C++ (Programming Language) CMake Computer Engineering Continuous Integration Data Migration Software Debugging DevOps Device Drivers Memory Management Linux on Embedded Systems Ethernet
+25 more
Hardware Interface Design Python (Programming Language) Linux System Administration Multiprocessing Network Protocols PCI Express Performance Tuning Scrum Methodology Queueing Systems ISO/IEC 15504 Memory Leaks System Programming TCP/IP Universal Asynchronous Receiver/Transmitter Multithreading Serial Peripheral Interface Real Time Systems Delivery Pipeline Git Yocto Information Technology Low Latency Free and Open-Source Software Build Tools Software Version Control

Job description

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

What You’ll Do

  • 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 have: Nvidia DriveOS exposure, ISO 26262/61508 familiarity, and Automotive ASPICE (V-Cycle) knowledge.

Benefits & conditions

Competitive comp with bonus and stock options, 100% paid medical/dental/vision, 401(k) with 6% match, generous flexible PTO from day one, and AD&D/Life Insurance.

About the company

Torc has been a leader in autonomous vehicle technology since 2007. Now part of the Daimler family, we’re focused on building the software that will bring autonomous trucks to market.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.dice.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

7:40 min

In-vehicle infotainment systems and graphical functional safety validation

Denis Grahovac · WWC 2021

1:15 min

Defining classes and building packages with pybind11

Konstantin Bespalov · WWC 2023

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

Videos

See all

Related articles

See all