Software Engineer I - Device Drivers
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 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
What you’ll need to succeed:
- 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
Perks of Being a Full-time Torc’r
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.
Hiring Range for Job Opening
US Pay Range
$100,600 - $150,900 USD
Job ID: 102567
Create a Job Alert
Interested in building your career at Torc Robotics? Get future opportunities sent straight to your email.
Apply for this job
*
indicates a required field
