remote-co-logo

Staff Firmware Engineer

Agility Robotics

  • Date Posted

    Today

    New!
  • Remote Work Level

    Hybrid Remote

  • Location

    Hybrid Remote in Fremont, CA

  • Job Schedule

    Full-Time

  • Salary

    We're sorry, the employer did not include salary information for this job.

  • Categories

    ITEngineeringProduct ManagerProject ManagerSoftware EngineerQA

  • Job Type

    Employee

  • Career Level

    Experienced

  • Travel Required

    No specification

  • Education Level

    Bachelor's/Undergraduate Degree, BS

About the Role

Title: Staff Firmware Engineer

Location: Fremont United States

Job Description:

About The Role

We are seeking a Staff Firmware Engineer to plan robot firmware architecture, design subsystems, and develop robust and reliable firmware for our full line of robots. In this role, you will collaborate with a multi-discipline team of engineers to understand the unique requirements for our products and play a key role in ensuring that we have robot designs that are robust and production-ready. You will also serve as the bridge between hardware and higher level robot control algorithms by documenting interfaces and providing support to other engineers.

About The Work:

  • Contribute to the C++ firmware architecture that drives our robot's low-level sensor network, controls, and power management systems
  • Develop the firmware communication layer utilizing EtherCAT and CAN
  • Write firmware for the hardware abstraction layer, peripheral drivers, and applications
  • Perform real-time hardware testing and debugging using benchtop test equipment such as logic analyzers and oscilloscopes.
  • Work with cross-disciplinary teams to solve complex problems dealing with the integration of software and hardware
  • Write performant, well-tested, maintainable, and well-documented C++ code

About You:

  • BS in computer science, electrical engineering, or related field with 10+ years industry experience
  • Experience writing modern C++ (17, 20)
  • Experience using FreeRTOS or similar
  • Experience with best practices for writing performant and maintainable software
  • Proficiency with a Linux-based development environment
  • Ability to read schematics, PCB layouts, and component datasheets
  • Ability to verbally communicate technical information effectively

Preferred to have:

  • Experience with implementation of automation fieldbuses such as EtherCAT, CAN, etc. EtherCAT is highly desirable
  • Experience writing embedded C++ for ARM systems
  • Experience developing real-time or low-latency systems
  • Experience designing and implementing hardware-in-the-loop (HIL) testing frameworks for embedded systems
  • Experience with unit testing such as with GTest and coverage analysis
  • Proficiency in Python (3.6+)
  • Familiarity with standard agile and software development processes (issue tracking tools (Jira), feature branching, version control (Git), continuous integration and deployment)
  • Familiarity with using AI in coding a plus

This a hybrid position based out of one of our Fremont, CA office.

The final salary offered to a successful candidate will be dependent on several factors that may include but are not limited to: job-related knowledge, skills, and experience. Agility Robotics is a multi-state employer and this salary range may not reflect positions who work in other locations. These ranges may be modified in the future.

Apply