View All Jobs 126550

Systems Engineer (firmware)

Develop firmware to support new sensors and hardware modifications for autonomous robots
Mountain View, California, United States
Mid-Level
22 hours agoBe an early applicant
Matic

Matic

A provider of autonomous mobile robots designed to automate material handling and logistics in various industries.

Firmware Engineer

As the name "firmware" may imply, this role closes the gap between our software and our hardware. In this role, you will be the hardware team's window into Matic's software, and you will be the software team's window into Matic's hardware. Firmware engineers are fundamentally cross-discipline and are expected to operate with product-focused systems-level thinking.

Firmware at Matic is a broad domain, and you will work on a wide variety of projects such as:

  • Bring-up and support for hardware changes (electrical and mechanical). For example:

    • A new sensing mechanism to detect when the waste bag is full from water during mopping - requires updating device drivers to interface with the new sensor, implementing tests to ensure the new system is working as expected during assembly, and coordinating robot behaviors to accommodate the new system (data filtering, updating the bag fullness check).

  • Design and improve the behavioral logic and controls algorithms for Matic's physical systems

  • Analyze robot logs along with motor and sensor data to debug hardware failures. For example:

    • Customer reports their Matic isn't charging despite being properly docked

    • Employee testing their Matic at home mentions that their robot suddenly started making weird clicking sounds while mopping

  • Support internal processes with tooling to interface with Matic's motors and sensors

We're looking for strong software experience with electromechanical projects. This likely includes deep experience with microcontrollers (bare-metal programming, RTOS, communication protocols), a fundamental understanding of electronics (schematics, datasheets, motors, sensors, batteries), and intuition for physical systems (motors, moving parts, materials). You should have strong experience writing embedded C/C++, and we hope you are eager to learn Rust if you aren't already familiar with it.

Must haves:

  • 2+ years of industry experience or equivalent (e.g. grad school)

  • Core software skills:

    • data structures, control flow, computer systems

    • deep experience with systems programming language(s): C, C++, rust, etc.

    • experience / comfort with scripting / prototyping language(s): python, etc.

  • Experience with hardware (the more the better):

    • Motors (brushed and brushless DC, drivers, operating principles)

    • Controls systems

    • Sensors (datasheets, device drivers, data filtering)

    • Electrical fundamentals

    • Mechanical intuition

    • You've built things (robots, PCBs, 3D-printing, anything)

  • Experience with microcontrollers (STM32, PIC, ESP32, etc.)

  • Soft-skills:

    • Multi-disciplinary team & leadership experience

    • Thinks broadly, connecting insights from across the system to solve problems

    • Meticulous, detail oriented, organized

    • Fixated on edge-cases and testing

Nice to have:

  • Friendly & approachable personality

    • non-combative, selfless, team-first mentality

  • Higher-level robotics exposure:

    • computer vision, machine learning, path planning, SLAM

We'd love to hear from you if…

  • You love diagnosing complex electromechanical issues

  • You are genuinely motivated to help those around you

  • You are passionate about learning outside of your normal comfort zones

  • You are excited to do great work

+ Show Original Job Post
























Systems Engineer (firmware)
Mountain View, California, United States
Engineering
About Matic
A provider of autonomous mobile robots designed to automate material handling and logistics in various industries.