BS in computer science, electrical engineering, or related field with 10+ years of industry experience
Proficient in modern C++ (17, 20)
Experience with FreeRTOS or similar real-time operating systems
Strong understanding of software performance and maintainability best practices
Proficient in a Linux-based development environment
Ability to read schematics and PCB layouts
Effective verbal communication of technical information
Responsibilities
Contribute to C++ firmware architecture for low-level sensor networks and power management
Develop firmware communication layers using EtherCAT, Ethernet, CAN, and RS-485
Write firmware for hardware abstraction layers and peripheral drivers
Conduct real-time hardware testing and debugging with test equipment
Collaborate with cross-disciplinary teams to integrate software and hardware
Produce well-tested, maintainable, and documented C++ code
Benefits
401(k) plan with a 6% company match
Company stock options
100% company-paid medical, dental, vision, and disability insurance
Flexible, unlimited PTO for exempt employees
Catered lunches and healthy snacks at office locations
Generous paid parental leave programs
Professional development and tuition reimbursement opportunities
Relocation assistance for eligible roles
Annual discretionary bonus for eligible roles
Full Job Description
We are seeking a Staff Firmware Engineer to work with cross-functional teams 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, Ethernet, CAN, RS-485
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 involving the integration of software and hardware in robot systems.
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
Bonus Points
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
Familiarity with standard agile and software development processes (issue tracking tools (Jira), feature branching, version control (Git), continuous integration and deployment)
Location
This is a hybrid position based out of our Fremont office. Candidates should anticipate regular travel to Salem, averaging ~15%, with bursts of extended stays during critical project phases.
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.
Anticipated Base Salary Range
$205,000-$265,000 USD
In addition to base pay, our competitive total rewards package consists of the following for full-time employees:
401(k) Plan: Includes a 6% company match.
Equity: Company stock options.
Insurance Coverage: 100% company-paid medical, dental, vision, and short/long-term disability insurance for employees.
Benefit Start Date: Eligible for benefits on your first day of employment.
Well-Being Support: Employee Assistance Program (EAP).
Time Off:
Exempt Employees: Flexible, unlimited PTO and 12 company holidays, including a winter shutdown.
Non-Exempt Employees: 10 vacation days, paid sick leave, and 12 company holidays, including a winter shutdown, annually.
On-Site Perks: Catered lunches four times a week and a variety of healthy snacks and refreshments at our Salem and Pittsburgh locations.
Work Environment: A culture that supports flexible work arrangements.
Growth Opportunities: Professional development and tuition reimbursement programs.
Relocation Assistance: Provided for eligible roles.
Annual Discretionary Bonus: Provided for eligible roles.
All of our roles are U.S.-based. Applicants must have current authorization to work in the United States.
About Agility Robotics
Agility Robotics is a robotics company that designs and builds bipedal robots for a variety of applications. The company's robots are designed to operate in human environments, and are capable of navigating stairs, uneven terrain, and other obstacles. Agility Robotics' robots are used in a variety of industries, including logistics, delivery, and inspection. The company was founded in 2015 and is based in Albany, Oregon.