Software Engineer II
Job description
About the role
Device driver role in Ann Arbor, Michigan
Location: USA
Engagement: Full-time
Compensation: $160,000.00 per year
Device driver engineers craft pathways that route streaming data correctly inside moving vehicles today. They design and maintain the software that connects sensors to processing nodes, focusing on robust data movement using C++ across PCIe and Ethernet.
What you will do
Architect pathways that carry bytes from sensors toward processing nodes using C++ around PCIe and Ethernet. You will define buffers, scheduling, and flow control so that high-throughput streams remain intact and ordered.
Build resilient interfaces that configure hardware registers and manage interrupts while DMA shuttles frames across buses without loss. You will write low-level glue that initializes devices, handles errors, and keeps pipelines stable under variable loads.
Conduct meticulous code reviews where every pull request is examined for correctness, timing, and memory behavior under harsh conditions. Reviews will emphasize race conditions, resource leaks, and boundary cases that appear only in deployed environments.
Validate behavior on real hardware by starting vehicles, logging anomalies, and confirming that messages appear at expected rates on buses. Testing will include loopbacks, stress patterns, and field trace data to verify that drivers keep strict timing guarantees.
Partner with calibration groups and field teams so that deployed binaries match safety rules and regional regulatory demands. Collaboration will ensure that driver changes do not disturb control loops or diagnostic interfaces.
Own the release pipeline that turns nightly builds into field updates, coordinating tests, rollbacks, and documentation for operations. You will guard versioning, signing, and verification so that updates reach vehicles reliably.
Verify that drivers behave deterministically under load, measuring latency, jitter, and error recovery while proposing guarded improvements. Metrics will be collected, analyzed, and used to guide architecture refinements.
Champion cross-team alignment by documenting register maps, signal definitions, and failure modes so future engineers can extend the stack. Clear specifications will reduce ambiguity and support long-term maintenance.
Requirements
You must hold a Bachelor of Science in Electrical Engineering, Computer Engineering, or Computer Science with 3 to 5 years of relevant experience. Your background should include shipped projects that involve device control and data movement.
You must demonstrate solid C++ skills, including pointers, references, move semantics, and templates while writing tests for your components. Your code will run in constrained environments where resource use must be predictable.
You must understand concurrency patterns, interrupt handling, and synchronization primitives inside an operating system kernel. Experience with real-time constraints and priority inversion avoidance is essential.
You must know networking basics for CAN and Ethernet, plus bitwise register manipulation and error detection methods. You will work directly with hardware protocols that demand precise bit-level correctness.
You must care about low latency, determinism, and memory safety, documenting tradeoffs for product and compliance stakeholders. Your decisions will affect vehicle behavior and must be justified with data.
Nice to have
Experience with AUTOSAR stacks, ROS 2, or simulation frameworks is helpful but not required. Familiarity with automotive toolchains and validation processes will accelerate onboarding.
Skills & tools
C++, Python, Git, ROS 2, CAN, Ethernet, PCIe, DMA, Linux. You will work in terminal-driven environments and editor workflows common in embedded teams.
Practical notes
Requirements, tools, and processes may vary slightly based on location and project needs.
What you'll do
Torc Robotics writes the software that lets heavy trucks drive themselves on public highways. The company began in Blacksburg, Virginia, in 2005 with students from Virginia Tech and later became part of Daimler Truck. Engineering and test work now run in the United States, Canada, and Germany, with an early commercial focus on Freightliner Cascadia trucks used in U.S. freight.