Software Engineer II

Torc RoboticsAnn Arbor, MI
Onsite

About The Position

This role is for a Software Engineer II responsible for the development and integration of middleware software supporting autonomous system solutions within automotive embedded platforms. The position involves driving the full software development lifecycle, including architecture, design, implementation, testing, deployment, and maintenance, primarily using C++ in a Linux-based environment and following Lean-Agile methodologies. Key aspects include designing, developing, and maintaining high-performance C++ middleware for embedded Linux systems in automotive ECUs, collaborating cross-functionally with hardware and software teams to define system architecture and requirements. The engineer will also be responsible for optimizing software for performance, memory efficiency, and real-time responsiveness in embedded environments, integrating third-party libraries and components, developing and executing comprehensive test plans, producing technical documentation, and actively participating in Agile ceremonies, code reviews, and design discussions.

Requirements

  • Master's degree in Automotive Engineering, Computer Science, Robotics, Electrical engineering or related technical field and two years of experience in job offered or other closely related position OR Bachelor's degree in Automotive Engineering, Computer Science, Robotics, Electrical engineering or related technical field and five years of experience in job offered or other closely related position
  • Experience working with robot operating systems (ROS) or real-time Linux
  • Experience with software version control (e.g., Git), CI/CD practices, and issue tracking systems
  • Experience with C++ and Python software development and unit testing in Linux environment
  • Experience with Vector Cast or GTest
  • Experience with ISO-26262 and designing software for safety critical systems and/or automotive ECUs
  • Experience with SOME I/P communication framework
  • Experience with Automotive ASPICE – V Cycle

Responsibilities

  • Development and integration of middleware software supporting autonomous system solutions within automotive embedded platforms
  • Drive full software development lifecycle activities—including architecture, design, implementation, testing, deployment, and maintenance—primarily using C++ in a Linux-based environment, following Lean-Agile methodologies
  • Designing, developing, and maintaining high-performance C++ middleware for embedded Linux systems in automotive ECUs
  • Collaborating cross-functionally with hardware and software teams to define system architecture and requirements
  • Optimizing software for performance, memory efficiency, and real-time responsiveness in embedded environments
  • Integrating and maintaining third-party libraries, software components, and device drivers
  • Developing and executing comprehensive test plans including unit, integration, and system-level testing
  • Producing and maintaining technical documentation, including software design specifications and user manuals
  • Actively participating in Agile ceremonies, code reviews, and design discussions to ensure high software quality and alignment with system goals
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service