Senior Software Engineer - Operating System

Torc RoboticsAnn Arbor, MI

About The Position

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

Requirements

  • Bachelor’s Degree in Computer Science, Robotics, Electrical Engineering or related technical field with 5+ years of experience OR Master’s Degree in Computer Science, Robotics, Electrical Engineering or related technical field with 3+ years of experience
  • Strong understanding of Linux internals, including user space vs kernel space, device trees, systems and system boot-up.
  • Strong experience with Linux development for time critical Embedded Systems.
  • 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.
  • Linux security knowledge (secure boot chain, signed kernel modules), filesystem hardening, namespace isolation.
  • Strong knowledge in building real time Embedded Systems for automotive or similar industries
  • Understanding bootloaders and hypervisors.
  • Strong experience with structured fault identification approaches such as STPA or FEMA execution
  • Strong experience on requirements based and test-driven release execution
  • Knowledge of build systems (Make, CMake, Yocto, Buildstream, Bazel)
  • Proficiency in C/C++ programming
  • Strong understanding of Linux kernel architecture
  • 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.

Nice To Haves

  • Knowledge of applying kernel patches is desirable.
  • Board bring up and SOC bring up experience with Linux OS.
  • 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

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

Benefits

  • 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
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service