Sr. Embedded Software Engineer, Robotics Platform

Serverobotics
British Columbia +4 more
Remote

Who this role is best for

Strong fit for embedded software engineers with C++ expertise who thrive in cross-functional robotics teams.

Best fit for

  • Candidates with 5+ years of embedded C++ experience and a background in robotics or autonomous systems
    — “5+ years of professional software engineering experience, including significant experience developing production software in modern C++ (C++17 and newer)”
  • Individuals who have independently led complex software components through full lifecycle development
    — “Experience independently owning complex software components through design, implementation, testing, and deployment.”
  • Engineers with a systems-level mindset and interest in safety-critical software design
    — “Translate system-level safety and reliability requirements into software behavior, interfaces, and verification strategies.”

Things to consider

  • The role may require occasional onsite work with robotics hardware for integration and validation
    — “The position may occasionally require access to robotics hardware or onsite participation in integration, testing, troubleshooting, or validation activities.”

How to stand out

  • Highlight experience with embedded Linux and real-time systems in your resume and interview stories
    — “Experience developing and debugging systems software in embedded Linux environments.”
  • Demonstrate your ability to design fault-tolerant systems and handle safety-related constraints
    — “Experience with fault-tolerant architecture, failure-mode analysis, functional safety, or safety-related software development.”
  • Showcase your work with telemetry and observability tools in robotics or distributed systems
    — “Experience developing telemetry, observability, health monitoring, or diagnostic capabilities for robotics or distributed device fleets.”
  • Emphasize your track record in cross-functional collaboration and technical leadership
    — “Lead technical design and code reviews and contribute to engineering standards, development practices, and technical documentation.”
  • Demonstrate hands-on experience with NVIDIA Jetson or similar embedded platforms
    — “Experience developing and deploying production software on NVIDIA Jetson or similar embedded computing platforms.”
Pace · Fast PacedCollaboration · HighAutonomy · HighDecision Impact · Team

Derived from job-description analysis by Serendipath's career intelligence engine.

What success looks like

  • designing, developing, testing, and maintaining robotics middleware and application frameworks
  • owning significant platform components from technical design through deployment
  • collaborating with autonomy and systems engineering on risk assessments and failure analysis
Typical background
Bachelor’s degree in Computer Science, Robotics, Computer Engineering, Electrical Engineering, or a related technical discipline, or equivalent practical experience

Skills & requirements

Required

C++Embedded LinuxMultithreaded ProgrammingConcurrencySynchronizationInterprocess CommunicationNetworkingSystem-level Software Development

Preferred

Profiling And Optimizing Embedded SoftwareDesigning Software For Latency-sensitive, Safety-related, Real-time, Or High-reliability Systems

Stack & domain

C++Embedded LinuxMultithreaded ProgrammingConcurrencySynchronizationInterprocess CommunicationNetworkingProfiling And Optimizing Embedded SoftwareCollaborationProblem-solvingTechnical GuidanceRoboticsEmbedded Systems

About the role

Original posting from Serverobotics via Ashby

At Serve Robotics, we’re reimagining how things move in cities. Our personable sidewalk robot is our vision for the future. It’s designed to take deliveries away from congested streets, make deliveries available to more people, and benefit local businesses.

The Serve fleet has been delighting merchants, customers, and pedestrians along the way in Los Angeles, Miami, Dallas, Atlanta and Chicago while doing commercial deliveries. We’re looking for talented individuals who will grow robotic deliveries from surprising novelty to efficient ubiquity.

WHO WE ARE

We are tech industry veterans in software, hardware, and design who are pooling our skills to build the future we want to live in. We are solving real-world problems leveraging robotics, machine learning and computer vision, among other disciplines, with a mindful eye towards the end-to-end user experience. Our team is agile, diverse, and driven. We believe that the best way to solve complicated dynamic problems is collaboratively and respectfully.

Responsibilities

  • Design, develop, test, and maintain robotics middleware and application frameworks using modern C++ on embedded Linux.
  • Own significant platform components from technical design and implementation through validation, deployment, and operation across Serve’s robot fleet.
  • Partner with software teams using the robot platform to identify reliability, performance, and developer experience problems and deliver reusable solutions.
  • Collaborate with Autonomy and Systems Engineering on risk assessments, failure analysis, fault-handling strategies, and software architecture.
  • Translate system-level safety and reliability requirements into software behavior, interfaces, and verification strategies.
  • Develop instrumentation, benchmarks, logging, tracing, and fleet-level metrics to measure and improve software performance, reliability, and system health.
  • Diagnose and resolve complex system-level issues involving concurrency, scheduling, interprocess communication, networking, and constrained compute resources.
  • Evaluate technical tradeoffs and contribute to architectural decisions that improve the scalability, maintainability, and reliability of the robotics platform.
  • Lead technical design and code reviews and contribute to engineering standards, development practices, and technical documentation.
  • Provide technical guidance and mentorship to other engineers through design discussions, problem solving, and knowledge sharing.

Qualifications

  • Bachelor’s degree in Computer Science, Robotics, Computer Engineering, Electrical Engineering, or a related technical discipline, or equivalent practical experience.
  • 5+ years of professional software engineering experience, including significant experience developing production software in modern C++ (C++17 and newer).
  • Experience developing and debugging systems software in embedded Linux environments.
  • Strong understanding of multithreaded programming, concurrency, synchronization, interprocess communication, and systems-level software development.
  • Experience designing software for latency-sensitive, safety-related, real-time, or high-reliability systems.
  • Experience profiling and optimizing embedded software for performance, reliability, and resource utilization.
  • Experience independently owning complex software components through design, implementation, testing, and deployment.
  • Strong troubleshooting and problem-solving skills with demonstrated ability to diagnose complex issues across software and hardware boundaries.
  • Strong written and verbal communication skills and the ability to collaborate effectively across software, systems, and hardware engineering teams.

What Makes You Stand Out

  • Experience developing middleware for robotics, autonomous vehicles, or similar complex systems.
  • Experience developing and deploying production software on NVIDIA Jetson or similar embedded computing platforms.
  • Knowledge of Linux internals, scheduling, resource management, device interfaces, and interprocess communication mechanisms.
  • Experience with fault-tolerant architecture, failure-mode analysis, functional safety, or safety-related software development.
  • Experience with distributed systems, networking, RPC frameworks, or serialization technologies such as Protocol Buffers, FlatBuffers, or Cap’n Proto.
  • Experience developing telemetry, observability, health monitoring, or diagnostic capabilities for robotics or distributed device fleets.
  • Experience integrating software with sensors, embedded hardware, or other robotic system components.

Additional Information:

This role works across multiple engineering disciplines and balances hands-on software development with systems-level problem solving, technical design, and cross-functional collaboration. The position may occasionally require access to robotics hardware or onsite participation in integration, testing, troubleshooting, or validation activities.

Source: Serverobotics careers (Ashby)

Similar roles