Sr. Embedded Software Engineer, Robotics Platform

Serve Robotics Inc

Vancouver

On-site

CAD 120,000 - 180,000

Full time

31 hours ago
Be an early applicant
Application generator

Stand out for this role — generate a tailored resume and cover letter in about a minute.

Get past ATS filters

Job summary

Serve Robotics Inc. designs robotics middleware and applications for fleet-wide deployments using modern C++ on embedded Linux. You will own major platform components, collaborating with software, hardware, and systems teams to ensure reliability and performance across the robot fleet.

The role emphasizes latency-sensitive, real-time software development, with responsibilities spanning design, testing, validation, and deployment, plus architecture decisions and mentoring engineers.

Qualifications

  • 5+ years of professional software engineering experience in modern C++ (C++17+).
  • Experience in embedded Linux environments and robotics software.
  • Strong understanding of multithreading, concurrency, IPC, and systems programming.
  • Experience designing latency-sensitive, real-time or high-reliability software.
  • Proven track record owning complex software components end-to-end.

Responsibilities

  • Design, develop, test, and maintain robotics middleware and application frameworks using modern C++ on embedded Linux.
  • Own significant platform components across Serve’s robot fleet from design to deployment.
  • Collaborate with software teams to improve reliability, performance, and developer experience.
  • Work with Autonomy and Systems Engineering on risk assessments and software architecture.
  • Translate safety requirements into software behavior, interfaces, and verification strategies.
  • Develop instrumentation, benchmarks, logging, tracing, and fleet-level metrics.
  • Diagnose and resolve complex system-level issues across software and hardware boundaries.
  • Contribute to architectural decisions to improve scalability and maintainability.
  • Lead design reviews and mentor other engineers.

Skills

C++17+
Embedded Linux
Multithreaded
Real-time systems
Ownership of components

Education

Bachelor’s degree in CS/Engineering

Job description

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.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Senior Robotics Engineer
Senior Robotics Engineer

InfoVision Inc. • Toronto

On-site
CAD 120,000 - 180,000
Senior Robotics Software Developer
Senior Robotics Software Developer

Promise Robotics • Edmonton, Calgary

On-site
CAD 120,000 - 160,000
Purpose-Driven Work
Growth Opportunities
Cutting-Edge Technology
+1
Embedded Firmware and Controls Engineer
Embedded Firmware and Controls Engineer

Kyte Dynamics | Aerial Robotics Co. • Richmond

On-site
CAD 152,000 - 208,000
Robotics Engineer - Motion Planning & Controls
Robotics Engineer - Motion Planning & Controls

Red Rabbit Robotics • Burnaby

On-site
CAD 80,000 - 110,000
Robotics Software Developer
Robotics Software Developer

Promise Robotics • Edmonton, Calgary

On-site
CAD 90,000 - 120,000
Competitive salary
Stock options
Holistic benefits package
+2
Full Stack Software Developer
Full Stack Software Developer

Engineered Arts LLC • Montreal (administrative region)

On-site
CAD 90,000 - 120,000
Software Developer
Software Developer

Promise Robotics • Edmonton

On-site
CAD 85,000 - 120,000
Competitive salary
Stock options
Benefits package
+2
Software Developer
Software Developer

Promise Robotics • Calgary

On-site
CAD 90,000 - 130,000
Competitive salary
Stock options
Holistic benefits
+3
Software Developer
Software Developer

Promise Robotics • Canada

On-site
CAD 90,000 - 120,000
Competitive salary
Stock options
Benefits package
+3
Manager, Applications Engineering
Manager, Applications Engineering

Avidbots • Kitchener

On-site
CAD 140,000 - 180,000