Senior Firmware Engineer
- Vancouver, BC, Canada
$140,000 to $180,000 CAD / year · Full-time
Applications open in a new tab.
Job details
- Pay
- $140,000 to $180,000 CAD / year
- Job type
- Full-time
- Apply by
- Experience
- 5+ years of professional experience developing embedded software or firmware for robotics, embedded systems, or real-time hardware platforms
- Posting language
- English
- Posted
Original job description
Here at Humanoid, we believe in a future where robots amplify human potential. That’s why we’ve set out on a mission to build the world’s most capable, commercially-scalable, and safe humanoid robots. We’re bringing that mission to life with HMND‑01 - our rapidly developed humanoid platform being deployed in real industrial environments - and we’re growing the team to take it even further.
About the Role
We are looking for an Firmware and Embedded Software Engineer to design and develop the real-time software systems that control our humanoid robots.
You will own the development of embedded software for critical robotic subsystems, including motion control, sensor interfaces, communication networks, and hardware abstraction layers that enable reliable and safe robotic operation.
This role requires strong fundamentals in embedded programming, distributed hard real-time systems, and hardware-software integration, along with experience building robust software for complex electromechanical systems.
You will collaborate closely with mechanical, electrical, and robotics engineers to rapidly prototype, test, and deploy embedded software that powers our robotic platforms.
Your work will directly influence the performance, reliability, and responsiveness of Humanoid’s robots.
What Makes This Role Exciting
- Design and develop embedded systems that control humanoid robots in real time safely
- Solve challenging problems in low-latency motion control, distributed embedded networks, and high-reliability robotic systems with various communication protocols
- Work in a fast-moving hardware environment where software directly interacts with physical machines
- Collaborate with a multidisciplinary robotics team spanning mechanical, electrical, controls, and AI
- See your code deployed in real robots operating in real-world environments.
What You’ll Do
- Develop and implement embedded software for robotic systems, emphasizing hard real-time performance and reliability as well as safety
- Integrate and optimize hardware and software components, including sensors, actuators, and communication modules
- Analyze and make recommendations on implementation paths with trade-offs
- Write and debug firmware for microcontrollers, FPGAs, ASICs, and SoCs
- Implement and manage communication protocols such as EtherCAT, CAN, UART, SPI, and I2C
- Collaborate closely with mechanical and electrical engineers to ensure seamless system integration
- Perform hardware testing, validation, and troubleshooting of embedded systems
- Analyze system constraints and resource limitations to optimize performance and efficiency
- Develop low-level drivers and interfaces for sensors, motors, and control electronics
- Maintain clear documentation of system architecture, code, and test results for traceability and maintainability
- Own embedded software components from concept through testing and deployment.
We’re Looking For
- 5+ years of professional experience developing embedded software or firmware for robotics, embedded systems, or real-time hardware platforms
- Bachelor’s or Master’s degree in Electrical Engineering, Computer Science, Robotics, or a related field
- Strong proficiency in C and C++, with experience using Python for testing or tooling
- Solid understanding of embedded systems architecture and hardware-software interfaces
- Experience with real-time operating systems (RTOS)
- Experience working with communication protocols such as EtherNet, EtherCAT, CAN, SPI, UART, or I2C
- Experience integrating sensors, actuators, and motor control systems
- Familiarity with debugging tools such as oscilloscopes, logic analyzers, and in-circuit debuggers
- Strong analytical and problem-solving skills
- Ability to work effectively in a fast-paced multidisciplinary engineering environment.
Bonus Qualifications
- Experience working with robotics frameworks such as ROS or ROS2
- Hands-on experience with FPGA or SoC development
- Experience developing distributed robotic control systems
- Familiarity with agile development methodologies
- Experience with EtherCAT-based motor drivers and real-time control networks
- Experience developing safety-critical or high-reliability embedded systems.
What We Offer
- Comprehensive extended health benefits starting on your first day, including fully paid medical and dental, virtual care, employee and family assistance, and worldwide emergency medical support.
- Meaningful time off to rest and recharge: 23 days of annual leave (accrued), 15 days of paid sick leave, and paid company holidays.
- Paid end-of-year shutdown: annual company-wide holiday closure spanning Christmas through New Year’s Day.
- Competitive equity: stock options with meaningful upside as we scale.
- Free daily catered lunch, snacks, and drinks in‑office.
- Collaboration with top‑tier engineers, researchers, and product experts in AI and robotics.
- Freedom to influence the product and own key initiatives.
For this role in Vancouver, the expected base salary range is $140,000 – $180,000 CAD per year; your placement in that range depends on how your experience maps to our internal leveling.
More about this job
Responsibilities
Develop and maintain reliable, safe, hard real-time embedded software for humanoid robot subsystems, including motion control, sensors, actuators, communication networks, and low-level hardware interfaces. Integrate, test, debug, and optimize hardware and software components, owning embedded systems from design through validation and deployment.
Requirements
Requires 5+ years of embedded software or firmware experience, a bachelor's or master's degree in a relevant field, and strong C/C++ skills with Python experience for testing or tooling. Candidates should have RTOS and embedded architecture knowledge, experience with communication protocols and sensor, actuator, or motor-control integration, and familiarity with hardware debugging tools.
Skills
- Embedded Software Development
- Firmware Development
- C
- C++
- Python
- Real-Time Operating Systems
- Hard Real-Time Systems
- Robotics
- Hardware-Software Integration
- EtherCAT
- CAN
- UART
- SPI
- I2C
- Sensor And Actuator Integration
- Hardware Debugging
Benefits
- Extended Health Benefits
- Medical Insurance
- Dental Insurance
- Virtual Care
- Employee And Family Assistance
- Worldwide Emergency Medical Support
- 23 Days Of Annual Leave
- 15 Days Of Paid Sick Leave
- Paid Company Holidays
- Paid End-Of-Year Shutdown
- Stock Options
- Catered Lunch
- Snacks And Drinks
Visa sponsorship
Not detected in the job text
Categories
- Engineering
- Technology
- Software
- Manufacturing
Keywords
- Embedded Software
- Firmware
- Humanoid Robotics
- C
- C++
- Python
- Real-Time Operating Systems
- Hard Real-Time Systems
- Motion Control
- Hardware-Software Integration
- Hardware Abstraction Layers
- Microcontrollers
- FPGAs
- ASICs
- SoCs
- EtherCAT
- EtherNet
- CAN
- UART
- SPI
- I2C
- Sensors
- Actuators
- Motor Control
- Low-Level Drivers
- Oscilloscopes
- Logic Analyzers
- In-Circuit Debuggers
- ROS
- ROS2