Software Engineer, II - Operating System
Torc Robotics
| Company | Torc Robotics |
| Category | Engineering |
| Location | Ann Arbor |
| Remote | On-site (inferred) |
| Employment | Not stated |
| Level | Not stated |
| Salary | Not stated by the employer |
| Posted | 2 Apr 2026 |
| Last verified | 30 Jul 2026 |
| Source | Employer career page (greenhouse) |
Description
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
The Operating System Team develops and maintains a light-weight in-house modified Linux distribution based on the usage of open source technologies. This also comprises the integration of third party libraries to efficiently run Machine Learning based Applications on NVIDIA target SoCs as wall as the development, operation and maintenance of the required build-system technologies.
What You’ll Do
Work on Linux kernel modules
Incorporate Linux Distribution in to build and deployment toolchain
Perform system-level debugging and performance tuning
Develop shell scripts and automation tools
Troubleshoot system issues and optimize performance
Collaborate with cross-functional teams (DevOps, QA, Hardware, Networking)
Ensure system security, stability, and scalability
Manage package builds and deployments
Contribute to documentation and technical design discussions
Optimize performance, memory usage, and real-time behavior of embedded applications.
Integrate and maintain third-party software and open-source software
What You’ll Need to Succeed
Bachelor's or Master's Degree in Computer Engineering, Computer Science, Engineering, or related field with 3-5+ years experience
Strong understanding of Linux internals, including user space vs kernel space, device trees, systemd and system boot-up.
Familiar with Linux Kernel architecture ( Scheduler (CFS vs RT), Memory management (paging, slab, CMA), Interrupt handling, softirq/tasklets)
Deep understanding of Process and IPC (fork/exec, signals, shared memory, pipes, sokcets).
Familiar with Linux boot up sequence and bootloaders.
Experience with device drivers and user space drivers. (PCIe, DMA, Ethernet, CAN)
Linux security knowledge (secure boot chain, signed kernel modules), filesystem hardening, namespace isolation (LSM).
Strong experience with Linux development in Embedded Systems, latency analysis (CyclicTest,ftrace)
Strong knowledge in building real time Embedded Systems for automotive or similar industries
Knowledge of build systems (Make, CMake, Yocto, Buildstream, Bazel)
Proficiency in C/C++ programming
Namespace Isolations (Containers, CGroups)
Experience with Shell scripting (Bash)
Familiarity with system calls, memory management, and process management
Knowledge of networking protocols (TCP/IP, SSH, HTTP)
Experience with debugging tools like GDB, strace, and Valgrind
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.
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 syst
991,236 openings. Erioun finds yours.Scored against your own profile, every hour.Try the radar →