Role OverviewJoin the Middleware Engineering Team at Torc to build software solutions for autonomous trucks, working with internal and external partners to uplift the system from open-source middleware frameworks to an automotive grade level.
What You Will Do
Customize existing open-source Ethernet based Middleware Technologies, design and develop robust C++ code for embedded Linux systems, and collaborate with hardware engineers and other software team members to define system requirements and architecture.
Why It Might Be a Fit
This role requires deep knowledge of a Middleware Framework, experience with PCIe Data Transportation, and proficiency in modern C++ and software engineering principles. The ideal candidate will have experience working in multi-threaded, multi-core, and multi-processor systems, and a strong understanding of Linux internals and operating system concepts.
Requirements
- Bachelor's degree in Electrical Engineering, Hardware Engineering, Computer Engineering or related field and 4+ years experience
- Master's degree in a related field and 2-4 years experience
- Deep Knowledge of a Middleware Framework, e.g. ROS2, SOME/IP or similar
- Experience with PCIe Data Transportation
- Experience with Open-Source Collaboration
- 6+ years of professional experience in C++ development for embedded Linux systems
- Experience with NVIDIA DriveOS
- Experience with Embedded Linux Software development
- Proficient in modern C++ (C++11/14/17), object-oriented design, and software engineering principles
- Strong understanding of Linux internals, including user space vs kernel space, device trees, and system boot-up
- Experience with cross-compilation toolchains and build systems (e.g., CMake, Make, Yocto, Buildroot, Bazel)
- Solid debugging and performance tuning skills using tools like GDB, Valgrind, strace, etc.
- 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
- Experience with real-time operating systems (RTOS) or real-time Linux
- 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
- Previous work in industries like automotive, IoT, robotics, or telecommunications
- Automotive ASPICE knowledge – V Cycle
- ISO-26262 knowledge and experience with designing software for safety critical systems and/or automotive ECUs
- Experience with Vector Cast or GTest for unit testing
- Experience working with scrum / Agile teams
- Experience in the certification process of automotive products
Benefits
- Competitive compensation package
- Bonus component
- Stock options
- 100% paid medical, dental, and vision premiums
- 401K plan with a 6% employer match
- Flexibility in schedule
- Generous paid vacation
- AD+D and Life Insurance
]]>