Suggested rewrite: Led a cross-functional initiative that improved [business outcome] by [measurable result], demonstrating experience relevant to this role...
Sr. Embedded Software Engineer, Robotics Platform
Review the role, location requirements, compensation details, and application process before deciding whether this opportunity fits your next career move.
- Salary
- USD 167,800–204k / yr
- Department
- Software Engineering
- Employment
- Full Time
- Experience
- Senior
- Published
- Apply before
- 6 Nov 2026
- Listing views
- 69
- Application actions
- 2
Make your next move.
Prepare your resume, explore your fit, and draft a cover letter for this opportunity.
The role, at a glance.
Serve Robotics is hiring a senior embedded software engineer to build and operate middleware and application frameworks for its sidewalk delivery-robot fleet. The role centers on modern C++ and embedded Linux, with ownership spanning architecture, implementation, validation, deployment, observability, and fleet reliability. The engineer will solve complex concurrency, IPC, networking, scheduling, and constrained-compute problems while partnering with autonomy, systems, and hardware teams. This is a senior, safety- and reliability-focused platform role that also includes technical reviews, standards development, and mentorship.
Role DNA
A quick view of the complexity, pace, ownership and collaboration implied by the job description.
Pace & Pressure
4/5Autonomy Level
5/5Communication Load
5/5Salary analysis
Estimated compensation compared with the broader US market for similar roles.
Core skills
Skills and capabilities most closely associated with this opportunity.
Sample interview questions
I would first define latency, throughput, fault-isolation, and resource constraints, then choose an IPC approach appropriate to message size and delivery requirements. I would establish versioned interfaces and explicit timeouts, backpressure, health checks, and recovery behavior. Instrumentation for latency, queue depth, dropped messages, and error rates would be built in from the start, with integration and fault-injection tests validating behavior under process failure and resource pressure.
I would begin by collecting synchronized traces, logs, CPU and memory profiles, scheduler data, and network or IPC metrics around the event. I would examine contention, priority inversion, blocking I/O, allocation activity, queue buildup, and competing workloads, then reproduce the issue under controlled load where possible. After identifying the bottleneck, I would implement a targeted change, benchmark it against a baseline, and add monitoring and regression coverage to prevent recurrence.
I favor clear ownership models, minimal shared mutable state, bounded queues, and well-defined thread lifecycles. I use synchronization primitives deliberately, document locking and ordering rules, avoid holding locks during expensive work or callbacks, and use sanitizers and stress tests to expose races and deadlocks. Where suitable, I prefer message passing or immutable data to reduce coordination complexity.
I would convert the requirement into observable software behaviors, interfaces, fault conditions, and measurable acceptance criteria. I would identify relevant failure modes, define detection and degraded-operation strategies, and map each requirement to unit, integration, hardware-in-the-loop, and operational tests as appropriate. Traceability from requirement through design, implementation, test evidence, and runtime telemetry is important for demonstrating that the behavior remains valid in deployment.
I would circulate a concise design document that states the problem, constraints, API proposal, alternatives, tradeoffs, failure modes, rollout plan, and success metrics. During the review, I would actively seek input from dependent software, systems, and hardware stakeholders and ensure decisions are grounded in operational requirements rather than preference. I would document outcomes, owners, open risks, and follow-up milestones so the design can be implemented and adopted predictably.
About this role.
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.
This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.
Apply now.
Follow the employer’s application method and review Jobicy’s safety guidance before sharing personal information.
Continue on the employer website
Protect your personal information and never pay to secure an interview or job offer. .
