Job Summary:
Torc Robotics is a leader in autonomous driving technology, focused on developing software for automated trucks. The Software Engineer II - Operating System will work on Linux kernel modules, develop automation tools, and collaborate with cross-functional teams to ensure system security and performance.
Responsibilities:
• 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
Qualifications:
Required:
• 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, sockets).
• 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 systems.
• Experience with Python, Bash scripting, or other relevant tools for automation and testing.
• Exposure to Nvidia DriveOs.
• Experience with Vector Cast or GTest for unit testing.
• Experience working with scrum / Agile teams.
Preferred:
• Knowledge of ISO 61508 or/and ISO 26262 desirable.
• Automotive ASPICE knowledge – V Cycle
Company:
Torc provides L4 end-to-end self-driving software for mobility, trucking, mining, and defense markets through strategic partnerships Founded in 2005, the company is headquartered in Blacksburg, USA, with a team of 501-1000 employees. The company is currently Late Stage.