Senior Software Engineer -- Multi-Robot Autonomy
The company
Outrider, the pioneer in autonomous yard operations for logistics hubs, helps large enterprises improve safety, increase efficiency, and optimize their workforce. The only company exclusively focused on automating all aspects of yard operations, Outrider eliminates manual tasks that are hazardous and repetitive. Outrider’s mission is to drive the rapid adoption of sustainable freight transportation by deploying zero-emission systems. Outrider is a private company backed by NEA, 8VC, and other top-tier investors.
The role
You'll be responsible for designing, developing, and implementing a multi-robot planning, tasking, and management system for an outdoor, industrial application operating 24/7/365.
The Senior Software Engineer -- Multi-Robot Autonomy will report to the VP Software Engineering and be responsible for developing the command-and-control subsystem for mission-level planning to orchestrate and optimize single- and multi-vehicle autonomous traffic.
We’re searching for an accomplished software engineer with a track record of demonstrated high achievement who can lead software development from concept through testing and commercialization for a robotic mission planning module that schedules, prioritizes, and manages tasks for a fleet of autonomous mobile robots. The Senior Software Engineer -- Multi-Robot Autonomy will develop software for tasking large vehicles to operate autonomously alone or in a large group.
This position requires strong software development and system architect/engineering skills – the successful candidate will be responsible for software subsystem design and engineering for autonomous vehicle systems that redefine large enterprise supply chains and boast safe, error-free, and effective operational performance.
Duties and responsibilities
- Develop from scratch the tasking, scheduling, prioritization, and mission planning software for a multi-agent, autonomous, mobile robot system.
- Lead the full software engineering lifecycle: requirements, design, implementation, test, integration, and ongoing release management.
- Create dynamic task allocation algorithms and modules to automate asset deployment and task completion.
- Commit to addressing customer issues in the office and in the field, as needed.
Required qualifications
- Bachelor’s degree in computer science, robotics, and/or electrical/electronics engineering
- 3-5 years’ background in multi-agent systems and autonomous, multi-robot coordination/communication
- Rich experience with advanced control design, multi-agent-based dynamic task allocation, and path planning
- 5+ years of in-depth experience with object-oriented design and C++
- Strong algorithm development/ optimization/ implementation/ performance tuning skills
- Expertise with software for ground robotic systems
- Experience using version control tools (Git, specifically) and Linux toolchain
- Familiarity with Agile development methodologies
- Excellent written and verbal communication skills
- Exceptional analytical skills
- Demonstrated strong leadership and people skills
- Sterling references on and off-list
Ideal qualifications
- Master’s or doctorate degree in computer science, robotics, transportation, electrical/electronics engineering, or computer engineering
- Experience with Robot Operating System (ROS)
- Background designing, building, and testing safety-critical systems and products