UAS Software Development - Intern
Software Engineering · Intern
Summary
As 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
