Senior Software Engineer - Embedded Linux

Agility Robotics

Agility Robotics

Software Engineering
Remote
Posted on Friday, December 16, 2022

Agility Robotics is a pioneer. Our robot, Digit, is the first to be sold into workplaces across the globe. Our team is differentiated by its expertise in imagining, engineering, and delivering robots with advanced mobility, dexterity, intelligence, and efficiency -- robots specifically designed to work alongside people, in spaces built for people. Every day, we break through engineering challenges and invent new solutions and capabilities that will one day make robots commonplace and approachable. This work is our passion and our responsibility: our mission is to make businesses more productive and people’s lives more fulfilling.

About The Role

Our software team is growing rapidly and we are looking for talented engineers to join our small, agile, world-class team. In this position you will be developing the low-level software that powers our state-of-the art humanoid robots, working as the bridge between hardware and high-level control algorithms.

About The Work

  • Contribute to the C++ software stack that powers our robots, interfacing with OS drivers and hardware to enable high-bandwidth, low-latency control
  • Work with cross-disciplinary teams to solve complex problems dealing with the integration of software and hardware and the design of our next-gen compute stack
  • Maintain and improve a fieldbus implementation (EtherCAT) for a humanoid platform
  • Design a Linux OS implementation for real-time/low-latency execution of autonomy software on modern x86 8-12 core CPUs
  • Write and optimize Linux drivers for hardware peripherals, including cameras, GPU, ethernet, PCIE, NVMe, Serial USART
  • Design and implement automatic, over-the-air updates for embedded systems
  • Write performant, well-tested, maintainable, and well-documented C++/C software

About You

  • BS or MS in computer science, computer engineering, or related field
  • 5+ years industry experience developing application and kernel C code for an embedded Linux environment
  • Experience with best practices for writing performant and maintainable embedded software
  • Experience writing and maintaining Linux kernel drivers such as USB, networking, video, storage, etc…
  • Experience configuring custom Linux based operating systems (e.g. buildroot, bitbake, driver setup, kernel configuration)
  • Experience with network programming in Linux: raw sockets, UDP, TCP/IP, etc…
  • Ability to communicate technical information effectively both orally and in writing with other team members
  • Authorization to work in the USA

Bonus Points

  • Experience writing modern C++ (17, 20)
  • Strong debugging skills in both the hardware and software domain
  • Experience bringing up new designs and prototype systems
  • Experience with OS security features such as secure boot, ARM trustzone, secure updates, etc…
  • Proficiency in Python (3.6+)
  • Experience with EtherCAT and CANopen protocols
  • Experience implementing industrial fieldbuses and real-time network programming
  • Familiarity with standard agile and software development processes (issue tracking tools (Jira), feature branching, version control (Git), continuous integration and deployment)

Benefits

  • Competitive Compensation Package
  • 100% Company Paid Disability, Life, Health, Dental & Vision Insurance (for AR employees)
  • Employer Matched Retirement Plan
  • Five Weeks of Paid Time Off Annually
  • Paid Parental Leave
  • Tuition Reimbursement
  • Employee Referral Bonus Program
  • Relocation Assistance (for certain roles)
  • Stock Options (for certain roles)
  • A culture that encourages flexible work schedules
  • A culture that embraces individuality and authenticity

Agility Robotics is committed to a work environment in which all individuals are treated with respect and dignity. Each individual has the right to work in a professional atmosphere that promotes equal employment opportunities and prohibits unlawful discriminatory practices, including harassment. Therefore, it is the policy of Agility Robotics to ensure equal employment opportunity without discrimination or harassment on the basis of race, color, religion, sex, sexual orientation, gender identity or expression, age, disability, marital status, citizenship, national origin, genetic information, or any other characteristic protected by law. Agility Robotics prohibits any such discrimination or harassment.

Apply Now: https://grnh.se/b444bbd04us