Software Engineer, II - Operating System

Torc Robotics, Inc.
Ann Arbor, United States of America
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate
Compensation
$ 167K

Job location

Ann Arbor, United States of America

Tech stack

Agile Methodologies
Unit Testing
Bash
Booting (BIOS)
CMake
Computer Programming
Computer Engineering
Continuous Integration
Software Debugging
Linux
DevOps
Device Drivers
File Systems
Memory Management
Ethernet
Hardware Interface Design
Issue Tracking Systems
Python
Network Troubleshooting
Linux kernel
Linux Distribution
Linux Security Modules
Machine Learning
Multiprocessing
Network Protocols
PCI Express
Performance Tuning
Proprietary Software
Queueing Systems
ISO/IEC 15504
Memory Leaks
Shell Script
Software Engineering
System Programming
TCP/IP
Universal Asynchronous Receiver/Transmitter
JavaScript Pagination Plugin
Multithreading
Serial Peripheral Interface
GIT
Build Management
Linux Development
Yocto
Information Technology
Low Latency
Free and Open-Source Software
Build Tools
U-Boot
Software Version Control

Job description

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

Requirements

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

  • Knowledge of ISO 61508 or/and ISO 26262 desirable.

  • Automotive ASPICE knowledge - V Cycle

Benefits & conditions

Torc cares about our team members and we strive to provide benefits and resources to support their health, work/life balance, and future. Our culture is collaborative, energetic, and team focused. Torc offers:

  • A competitive compensation package that includes a bonus component and stock options

  • 100% paid medical, dental, and vision premiums for full-time employees

  • 401K plan with a 6% employer match

  • Flexibility in schedule and generous paid vacation (available immediately after start date)

  • AD+D and Life Insurance

At Torc, we're committed to building a diverse and inclusive workplace. We celebrate the uniqueness of our Torc'rs and do not discriminate based on race, religion, color, national origin, gender (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender identity, gender expression, age, veteran status, or disabilities. Even if you don't meet 100% of the qualifications listed for this opportunity, we encourage you to apply.

Our compensation reflects the cost of labor across several geographic markets. Pay is based on a number of factors and may vary depending on job-related knowledge, skills, and experience. Torc's total compensation package will also include our corporate bonus and stock option plan. Dependent on the position offered, sign-on payments, relocation, and other forms of compensation may be provided as part of a total compensation package, in addition to a full range of medical, financial, and/or other benefits.

About the company

At Torc, we have always believed that autonomous vehicle technology will transform how we travel, move freight, and do business.

Apply for this position