SummaryAs a part of our development team, you will learn and work on a range of mission-critical software projects. These may include new features to our mission planning workflow and flight control interface; ground control station enhancement; flight computer services; engineering tools to make our debugging, development and deployment processes more efficient; and software test, build, lint, and static analysis systems. Responsibilities- Develop software features for the aerial robotic system, which includes the ground station and the on-board computer- Participate in the software code review process- Perform internal and external research on software development best practices- Cooperate with product development and graphical design to develop new graphical interfaces according to design sketches- Port legacy systems from C++ to C# in a planned, verifiable manner- Create tooling to enable automation in key development areas, potentially including testing, data analysis, and operations workflows- Cooperate with the operations team to participate in drone field testing, verify new features, and develop testing programs- Create documentation for new features, processes, tools, etc. Minimum qualifications - Registered in a Canadian post-secondary cooperative work program- Pursuing a degree in computer science, software engineering, computer engineering, or a similar relevant technical discipline- Able to write clean, clear, documented, and testable code without requiring generative AI. The primary language will be C# but C++ and Python will also be necessary.- Comfortable working on desktop (Windows) applications Beneficial qualifications- Aviation experience (e.g. flying drones, working on relevant student teams, theory of flight courses, etc.)- Robotics experience- Experience with the Windows Presentation Foundation, and .NET (Core) 5.0 or later- G driver’s license