System Software Engineer II

Autonomous Solutions

$100K — $130K *
Information Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • 3+ years of experience with production code in compiled languages like Rust, C++, Go, Java, or C.
  • Experience in building and maintaining complex software systems over time.
  • Experience in operating complex Linux systems in a production environment.
  • Proficiency in debugging multi-threaded, multi-disciplinary software systems.
  • Ability to engage with unfamiliar systems to solve technical problems.
  • Hands-on experience verifying changes on real hardware.

Responsibilities

  • Maintain and evolve the robot's operating system and system-level tools.
  • Write and maintain software in Rust, Python, and C++ across the stack.
  • Bridge the firmware and higher-level software layers.
  • Build tools for fleet observability, stability, and performance.
  • Verify changes directly on-bot and assist engineering teams in the field.
  • Debug complex issues across firmware, perception, and application layers.
  • Collaborate with firmware, perception, and applications engineers on shared systems.

Benefits

  • Opportunity to work on cutting-edge robotics technology.
  • Collaborative environment with cross-functional teams.
  • Hands-on experience with real hardware and software integration.
  • Focus on growth and learning new tools and technologies.
  • Engagement in a fast-paced, innovative work culture.
Full Job Description
As a System Software Engineer II on the Commercial Landscaping Team, you will bridge the gap between firmware and higher-level robot software. You will maintain the operating system and foundational software that every other system on the robot depends on and write the lower-level abstractions that make the rest of the codebase possible. You will work closely with firmware engineers on CAN-connected microcontrollers, perception engineers processing camera data in real time, and applications engineers streaming telemetry to the cloud. Most of the codebase is Rust, with some C++ and Python. You will be required to regularly spend time on-bot verifying your own changes.

Requirements
  • Maintain and evolve the robot's operating system (Ubuntu and Yocto) and system-level tools.
  • Write and maintain software in Rust, Python, and C++ across the stack.
  • Bridge firmware and higher-level software, translating between the two layers.
  • Build tools that improve fleet observability, stability, and performance at scale.
  • Verify changes directly on-bot and assist other engineering teams in the field.
  • Debug complex, multi-threaded issues across firmware, perception, and application layers.
  • Collaborate daily with firmware, perception, and applications engineers on shared systems.
  • Learn new tools and technologies as the robot platform and fleet grow.


Qualifications
  • 3+ years of experience writing production code in at least one compiled language: Rust, C++, Go, Java, or C.
  • Has built and maintained large, complex software systems over time.
  • Has operated and maintained a complex Linux system in a production environment.
  • Can debug large, multi-threaded, multi-disciplinary software systems.
  • Comfortable engaging with unfamiliar systems to triage and solve deeply technical problems.
  • Willing to spend hands-on time verifying changes directly on real hardware.


Physical Requirements
  • Ability to remain in a stationary position for significant portions of the workday, including computer-based tasks and meetings.
  • Ability to communicate and exchange information clearly and effectively with team members and collaborators.
  • Capacity to analyze complex technical problems and make decisions in a fast-paced environment.
  • Ability to move around a lab, shop, or field environment to verify software changes directly on the robot.


Similar Jobs

More Jobs at Autonomous Solutions

More Information Technology Jobs

Find similar System Software Engineer II jobs: