Fulfil
Staff Robotics Software Engineer
Mountain View, CA · Staff+
Sponsorship not specified$180k-$215kDetected 8 days ago
C++BashAlgorithmsCI/CDLinuxDevOpsgRPCComputer VisionRecruitingEmbedded SystemsRoboticsPLCMechanical DesignElectrical EngineeringSensorsTCP/IPLeadershipCommunicationCollaboration
About the role
- Fulfil is committed to creating an inclusive culture, and we celebrate diversity of all kinds.
- 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.
- Pay within the range is based on candidate experience, job-specific skills, education, and work location.
Responsibilities
- 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.
- 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).
- 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.
- Design and maintain unit testing and HIL (Hardware-in-the-Loop) environments.
- Use oscilloscopes, multimeters, logic analyzers, and related tools to bring up and validate hardware interfaces.
- Own interface boundaries between hardware components, middleware, and application layers.
Requirements
- 8+ years of experience in embedded systems firmware development and architecture.
- Experience with motion control, motor tuning, encoder feedback, and trajectory optimization (e.g., jerk limiting).
- Experience designing gRPC + Protobuf interfaces between firmware modules and external software.
- Experience interfacing with electrical engineering teams and hardware bring-up.
- Familiarity with Linux-based SBCs (e.g., NXP i.MX, Raspberry Pi, etc.).
Nice to have
- Experience with CanOpen protocol.
- Familiarity with PLCs, ladder logic, or industrial automation frameworks.
- Background in industrial automation, robotics, or distributed systems.
- Experience with firmware bootloaders, OTA update strategies, and secure firmware deployment.
- Understanding of network protocols (Ethernet, MQTT, TCP/IP) in embedded contexts.
- Exposure to DevOps practices for firmware (artifact management, CI/CD pipelines).
- A maker/tinkerer mindset - whether from robotics competitions, hobby projects, or hardware hacking.
- A chance to be an early team member and leader of a rapidly growing startup and have an impact on company and technology direction.
Compensation
- The salary range for this position is 180,000-$215,000 plus stock and benefits.
This listing is sourced directly from Fulfil's careers page and normalized into a canonical job model.