EFS S23

Job Summary: The Waterloo Aerial Robotics Group (WARG) is an engineering student design team at the University of Waterloo. We have 6 subteams (Mechanical, Embedded Flight Software, Electrical, Computer Vision, System Integration, and Operations). Our mission is to design and build every aspect of an autonomous aircraft for the purposes of competition. Over the past few years, we have been continually expanding and building fixed-wing, multi-rotor, and now VTOL aircraft!

 

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

 

This position can be remote, in-person in Waterloo, or hybrid as you see fit but we highly encourage being in-person if possible.

 

Job Responsibilities: 

  • Lead the design and implementation of projects to improve and expand the capabilities of our ZeroPilot Software (our very own autonomous flight software).

  • Work closely with other embedded flight software team members and members across different subteams.

  • Write unit tests for software you implemented using Google Tests.

  • 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 and system integration.

    • Experience with embedded software and/or firmware development

    • Experience with STM32 (ARM) family of processors.

    • Experience using testing suites.

    • Experience working on dynamic/volatile code bases.

    • Experience with automation, control theory, and Matlab.

 

Compensation and Benefits Information: This position is unpaid.

Â