Software Engineer, II - Simulation
Job description
About the role
Torc Robotics is seeking a highly skilled Software Engineer II to join our dedicated simulation team. This team plays a crucial role in the development, testing, and validation of our autonomous trucks. As part of this team, you will be responsible for creating and managing complex virtual testing environments that simulate real-world scenarios. Your work will involve developing simulation tools, integrating sensor data, and ensuring that our autonomous systems perform reliably and safely under a variety of conditions. This position offers an exciting opportunity to contribute to cutting-edge autonomous vehicle technology, working on projects that impact safety, efficiency, and innovation in transportation. The ideal candidate will have a strong background in software development, simulation techniques, and system troubleshooting, with a passion for advancing autonomous vehicle capabilities.
Key facts
What you'll do
- Design, develop, and maintain sophisticated simulation scenarios tailored for autonomous truck testing, ensuring they accurately replicate real-world environments and conditions.
- Collaborate closely with hardware and software engineers to enhance the simulation tools and frameworks, providing valuable feedback to improve system performance and reliability.
- Conduct comprehensive testing of virtual driver software, utilizing simulation-based tools to validate system behavior and identify potential issues before deployment.
- Create detailed test scenarios based on real-world data, including sensor inputs and environmental factors, to evaluate system robustness and safety.
- Execute simulation tests, monitor system performance, and analyze logs and data outputs to identify anomalies, bugs, or system failures.
- Develop and refine test plans, including defining new testing requirements and updating existing scenarios to reflect evolving system capabilities.
- Troubleshoot and resolve issues encountered during simulation testing, working across teams to diagnose root causes and implement effective solutions.
- Document testing procedures, results, and system modifications thoroughly to support continuous improvement and knowledge sharing within the team.
- Lead virtual testing sessions, troubleshoot software issues across the entire stack, and ensure that simulation environments are stable and reliable for ongoing testing activities.
- Mentor junior engineers, sharing expertise in simulation development, testing methodologies, and troubleshooting techniques.
- Communicate testing progress, findings, and recommendations clearly to product managers, quality assurance teams, and other stakeholders.
- Stay current with advancements in simulation technologies, autonomous vehicle systems, and related fields to continuously improve testing practices and tools.
Requirements
- Bachelor's Degree in Computer Science, Computer Engineering, Robotics Engineering, Systems Engineering, or a related field, with at least 6 years of relevant experience; or a Master's Degree with a minimum of 3 years of experience; or a PhD with at least 1 year of experience.
- Deep understanding of the Software Development Lifecycle (SDLC) and experience applying it in complex projects.
- Proven experience in developing, executing, and troubleshooting simulation-based testing scenarios for autonomous systems.
- Strong knowledge of how simulation-based testing can be used effectively to validate autonomous vehicle software and hardware.
- Proficiency in developing test scenarios, analyzing logs, and troubleshooting software issues across multiple layers of the system.
- Experience with Software-in-the-Loop (SIL) and Hardware-in-the-Loop (HIL) testing methodologies, including their setup and execution.
- Ability to lead virtual testing sessions, troubleshoot software problems, and ensure the stability of simulation environments.
- Demonstrated ability to mentor junior engineers, providing guidance and technical support.
- Excellent communication skills to convey testing results, issues, and recommendations to technical and non-technical teams.
- Ability to work collaboratively in a team environment, managing multiple tasks and priorities effectively.
- Familiarity with version control systems, scripting languages, and automation tools used in simulation testing.
Nice to have
- Programming skills in C++ and Python, with experience in scripting and automation of testing processes.
- Familiarity with the Robot Operating System (ROS) and its application in simulation environments.
- Experience with system-level troubleshooting, fault isolation, and root cause analysis in complex software systems.
- Knowledge of Test-Driven Development (TDD) practices and experience designing test frameworks and architectures.
- Experience working within Agile development methodologies, such as Scrum or Kanban, to manage testing cycles and deliverables.
- Understanding of vehicle sensor systems, environmental modeling, and data integration techniques relevant to autonomous vehicle simulation.
Skills & tools
- C++, Python, ROS, SIL, HIL, simulation tools, cloud-based infrastructure, version control systems, scripting languages, automation tools.
Practical notes
- Candidates must be authorized to work in the United States; sponsorship is not available for this role.
- Torc Robotics offers a competitive salary and comprehensive benefits package, including 100% paid medical, dental, and vision premiums for full-time employees.
- Additional benefits include a bonus structure, stock options, and opportunities for professional growth.
- This position is on-site at either the Ann Arbor, MI or Blacksburg, VA office locations; candidates should be prepared to work at the designated site.
- The company encourages interested applicants to apply promptly, as the position will remain open until filled.
- Candidates should be prepared to participate in an interview process that may include technical assessments and team interactions.