EFS F22

The posting for firmware & flight software

Job Description:

This position is unpaid.

The Waterloo Aerial Robotics Group (WARG) is an engineering student design team at the University of Waterloo. We have 6 subteams (Mechanical, Firmware, Electrical, Computer Vision, Systems Integration, Operations). Our mission is to design and build autonomous aircraft for the Unmanned Systems Canada Competition. Over the last few years, we have been continually expanding and building new fixed-wing and multirotor aircraft.

The firmware & flight software team at WARG is responsible for designing all aspects of our aircraft’s autopilot, from low-level sensor drivers all the way to higher-level functions such as autonomous landing systems, sensorfusion, or motion control. Composing of passionate students, the team is constantly striving to push the capabilities of our existing systems while also creating a supportive team environment that is conducive to learning. As a co-op student on the WARG embedded team, you will work with fellow team members on various projects as you build your skills in designing, implementing, and testing C++ code.

This position can be remote, in-person in waterloo, or hybrid as you see fit.

Job Responsibilities:

  • Lead the design and implementation of projects to improve and expand the capabilities of our Autopilot software - specifically related to our in-house OS.

  • Work in close partnership with other embedded team members as well as our Systems Integration team for new project bringups.

  • Write unit tests using Google Test.

  • Write and maintain documentation using Confluence.

Required Skills:

  • Experience using C or C++.

  • Experience using Git or other version control software.

  • Passion for aviation.

  • Desire to learn and think outside the box.

  • Ability to think critically.

  • Ability to work well with others.

  • Preferred skills (but not required):

    • Experience with system architecture & system integration.

    • Experience with embedded and/or firmware development.

    • Experience using testing suites.

    • Experience working on larger code bases.