Systems Engineer (Firmware)
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+10 more
Job description
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
Requirements
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 (see: why we use Rust)., * 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, * 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
Benefits & conditions
Base $120,000 - $200,000, Actual Compensation will depend on skills, experience and qualifications. Base Salary is one part of the total compensation package. The role is also eligible for equity through the companyās discretionary equity program, along with a comprehensive benefits package that includes medical, dental and vision coverage access to a 401(k) plan.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this roleā¦