Skip to content
Fulfil Solutions

Staff Robotics Software Engineer

Mountain View, CA; Mountain ViewUnited States
Staff · Software Engineering
POSTED 26 MARVERIFIED 1D AGO
Apply Ask
Role
227 days opentrue age
Posted 26 Mar
Pay
$205k–$284kno pay posted
Market p25–p75
$205k–$284k
SF Bay Area · n=969 · 365d to 6 Nov
CompanyFulfil Solutions →
10open roles
Opened · 30d
+0
Closed · 30d
−0
30d window
Market
9,273open · Staff Software engineering
Opened · 7d
+4785% of open
All software engineering
74,906open
All tracked boards · live 9 Nov · n=9,273
C++Distributed systemsTesting

Fulfil is a well-funded, rapidly growing, and inclusive company that has developed a custom automation robotics system to pick and pack online orders of groceries and other consumables, bringing delight and a value proposition to consumers that doesn’t exist today. Additionally, its unique design and technology is purpose-built to solve today’s environmental problems in the world’s food supply chain. Founded by a team with previous startup success and backed by top-tier VCs, we are committed to reducing waste, improving environmental impact, and reducing emissions with truly new technology.

We can’t do it alone -- we’re seeking curious, capable, passionate team members motivated by the opportunity to create lasting impact on the world through their work. This role offers ample growth opportunities while working side-by-side with an impassioned, multi-disciplinary team spanning mechanical design, software, computer vision, systems integration, and ops to design and operationalize world-changing technology.

Fulfil is committed to creating an inclusive culture, and we celebrate diversity of all kinds. If this sounds like the kind of environment that you find intriguing, then please apply even if you don’t feel you meet all the requirements listed below. We'd love to hear from you.

Why you’ll love working at Fulfil

  • Autonomy and ownership; you design it, build it, and own it.
  • Amazing team
  • Build robots that do cool things
  • Rapid growth
  • Inclusive culture
  • Work-life balance
  • Collaborative culture
  • We hire great people and trust them

Key Responsibilities

Technical Leadership

  • Lead architecture and development of embedded firmware systems from concept through production.
  • Drive system design across multiple communication layers: from physical protocols (CAN, I2C) to high-level RPC interfaces.
  • Mentor and coach engineers on best practices, code quality, and architectural decisions.

Firmware & Control Development

  • Implement robust, portable firmware using C/C++ for ARM-based microcontrollers and SBCs (e.g., STM32, NXP, Raspberry Pi-class devices).
  • Develop and maintain protocol implementations for CAN bus, Modbus, I2C, UART, and SPI.
  • Design and maintain gRPC and Protocol Buffer interfaces to expose hardware services cleanly and safely to higher-level systems (e.g., orchestration, cloud, or local UIs).
  • Integrate Linux-based SBC firmware modules with hardware abstraction layers.
  • Implement motor control algorithms, including tuning, sequencing, encoder-based positioning, and jerk limiting.
  • Use real-world feedback (encoders, sensors, timing feedback) to optimize motion sequences and avoid unnecessary re-homing.

Testing & Quality Engineering

  • Design and maintain unit testing and HIL (Hardware-in-the-Loop) environments.
  • Debug systems at all layers — from firmware logic to sensor integration to timing drift.
  • Use oscilloscopes, multimeters, logic analyzers, and related tools to bring up and validate hardware interfaces.

Cross-Disciplinary Collaboration

  • Work with systems, hardware, software, and operations teams to align on firmware behaviors and API contracts.
  • Own interface boundaries between hardware components, middleware, and application layers.
  • Participate in bring-up, debugging, and integration of custom hardware.

Documentation & Lifecycle Management

  • Ensure detailed documentation of firmware APIs, hardware mappings, and integration guides.
  • Promote best practices for version control, CI/CD for firmware, and structured release processes.

Required Qualifications

Located within commuting distance to Mountain View Ca

  • 8+ years of experience in embedded systems firmware development and architecture.
  • Deep understanding of embedded communication protocols: CAN bus, Modbus, I2C, SPI, UART.
  • Experience with motion control, motor tuning, encoder feedback, and trajectory optimization (e.g., jerk limiting).
  • Strong C and C++ skills; familiarity with embedded Linux, shell scripting, and build systems (Bazel, CMake, etc.).
  • Experience designing gRPC + Protobuf interfaces between firmware modules and external software.
Source · Fulfil SolutionsFirst seen 7 NovOriginal ↗