Company: Fulfil Solutions
Location: Mountain View, CA (On-site)
Team: Firmware / Embedded Systems
Compensation: $140,000 base salary + equity + benefits
About the RoleFulfil is looking for a Firmware Engineer to join our Embedded Systems team. You'll work on the low-level software that drives our custom robotics hardware - implementing protocols, building control logic, and helping bring new hardware to life in a fast-moving production environment.
This is a hands-on individual contributor role. You'll work closely with senior engineers and cross-functional teammates in hardware, software, and systems integration to implement firmware that is reliable, testable, and built to last.
What You'll DoFirmware Development Implement robust firmware in C/C++ for ARM-based microcontrollers and Linux-based SBCs. Develop and maintain protocol implementations across CAN bus, I2C, UART, SPI, and Modbus.
Hardware Integration Participate in bring-up and validation of custom hardware. Use oscilloscopes, logic analyzers, and multimeters to debug at the hardware/firmware boundary.
Motion & Control Implement motor control sequences including encoder-based positioning, tuning, and jerk limiting under the guidance of senior engineers.
Interface Development Work with gRPC and Protocol Buffer interfaces to expose hardware services to higher-level systems cleanly and safely.
Testing & Quality Write unit tests and contribute to HIL (Hardware-in-the-Loop) test environments. Debug issues across firmware logic, sensor integration, and timing.
Cross-Functional Collaboration Work with hardware, software, and systems teams to understand interface contracts and align on firmware behavior.
What We're Looking ForRequired- Located within commuting distance of Mountain View, CA
- 2-4 years of experience in embedded firmware development
- Solid C and C++ skills in an embedded Linux environment
- Working knowledge of embedded communication protocols: CAN, I2C, SPI, UART, or Modbus
- Experience with hardware debugging tools (oscilloscope, logic analyzer, multimeter)
- Familiarity with Linux-based SBCs (Raspberry Pi, NXP i.MX, or similar)
- BS in Computer Science, Electrical Engineering, or equivalent practical experience
Preferred- Exposure to gRPC and Protobuf interfaces
- Experience with motion control, encoder feedback, or motor tuning
- Familiarity with build systems such as Bazel or CMake
- Experience with version control and CI/CD practices for firmware
- A maker or tinkerer background - robotics competitions, hobby electronics, hardware hacking