Software Engineer I - Device Drivers
Indexed 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 Device Drivers team develops and maintains software used to configure and interface with sensors in the system to pass data generate from sensors to consumers in the system.
What you'll do:
- Write software to integrate external sensor to the system
- 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
- Bachelor's or Master's Degree in Computer Engineering, Computer Science, or related field with 1-5+ years of experience.
- Experience with device drivers and user space drivers. (PCIe, DMA, Ethernet, CAN)
- Experience with Linux development in Embedded Systems, latency analysis (CyclicTest,ftrace)
- 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)
- 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.
- 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 working with scrum / Agile teams.
- Knowledge of ISO 61508 or/and ISO 26262 desirable.
- Automotive ASPICE knowledge – V Cycle
- 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
Even if you don’t meet 100% of the qualifications listed for this opportunity, we encourage you to apply.
Hiring Range for Job Opening
US Pay Range
$100,600 - $150,900 USD
Job ID: 102567
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search