Uncrewed Aerial Systems Software Developer

National Research Council Canada

Montreal (Hybride)
Compétences recherchées — Connectez-vous et téléversez votre CV pour comparer avec votre profil
Intelligence artificielle Agile Git +5 autres

Détails du poste

  • Lieu de travail : Montreal (Hybride)
  • Type de poste : Temporaire à temps plein

Tenure

Tenure:

Term

Duration: until 31 March 2028

Language Requirements: English or French

Work arrangements:

  • Due to the nature of the work and operational requirements, this position may be eligible for a limited hybrid work arrangement (combination of working onsite and telework).

At the NRC, we recognize that Indigenous candidates may have important connections to their communities and you may be eligible for an exception to this work arrangement. Alternative work arrangements may also be considered to accommodate candidates as required. To learn more about these options, please contact the NRC Hiring team using the contact information below.

Découvrir les possibilités

Anything is possible at the NRC, named in 2025 one of Canada’s Top Employers for Young People, Top Employer in the National Capital Region and Forbes Canada’s Best Employers!

As Canada’s largest research and innovation organization, our world-renowned research pushes the boundaries of science and engineering to make the impossible, possible. Every day we explore new ideas through innovative research and help companies discover possibilities that impact Canada’s future and the world.

At the NRC, you’ll also discover new possibilities. Our supportive workplace fosters a culture of creativity, welcoming fresh perspectives and innovation at all levels. We value teamwork. You’ll collaborate across multiple fields and with the brightest minds to find creative solutions. Most importantly, you’ll discover what’s possible within you as you grow, make valuable contributions and progress in your professional journey. From ground-breaking discoveries to a life-changing career, discover your possible at the NRC.

Defence Industrial Strategy

The NRC has an important role within the Government of Canada's Defence Industrial Strategy, accelerating research and innovation, and helping Canadian businesses develop leading-edge technologies for civilian and military use.

With expertise across fields such as transportation, quantum science, medical countermeasures and advanced manufacturing, the NRC is hiring to drive the development of national sovereign defence capabilities. The following role will support the NRC’s contributions to defence priorities.

Description du poste

We are looking for one (1) Highly skilled software developer with experience supporting the development, integration, and maintenance of software systems for to support our research on UAS (Unmanned Aerial Systems) and Counter-Unmanned Aircraft System (C-UAS) technologies. The successful candidate will contribute to software tools, web-based applications, data-management systems, simulation interfaces, and operator-facing systems used in research, testing, and demonstration environments. Experience with drones, UAS software, robotics, aerial robotics, and field-robotics support would be considered an asset. This individual would be someone who shares our core values of Integrity, Excellence, Respect and Creativity.

This position is part of the NRC Aerospace Research Centre’s Drone and Flight Autonomy Lab, which supports applied research and technology development in UAS and C-UAS systems. The successful candidate will work within a multidisciplinary team of researchers, engineers, software developers, technical staff, and industry and government partners to develop, integrate, test, and validate software capabilities for drone and C-UAS systems in laboratory, simulation, and field-test environments.

The UAS/C-UAS Lab provides an applied and instrumented environment for the implementation, integration, and validation of drone and Counter-UAS technologies. The laboratory supports research and applied technology development spanning UAS autonomy, C-UAS detection and monitoring, sensor integration, operator-facing software, simulation tools, data-management systems and field-deployable UAS capabilities.

Working with other members of the team, the software developer will carry out:

  • Software Design and Development: Design, develop, improve, test, and maintain software systems in support of UAS research, simulation, integration, and demonstration activities. This includes in-house software tools, web-based applications, data-management systems, visualization interfaces, and operator-facing applications.
  • Work with our clients to port and our software to their existing network and interface with their software and hardware systems.
  • Software Integration: Integrate commercial, open-source, and in-house software with simulation environments, sensors, data sources, databases, communication interfaces, logging tools, and research facility systems. Support software integration activities required for laboratory, simulation, and field-test environments.
  • Field Deployment and Demonstration Support: Participate in laboratory, simulation, software-in-the-loop, hardware-in-the-loop, field-test, and demonstration activities in support of C-UAS and UAS software systems. Deliver and deploy software solutions to support research projects, program activities, and client needs.

Exigences

Screening criteria

Applicants must demonstrate within the content of their application that they meet the following screening criteria in order to be given further consideration as candidates:

Éducation

Education

Master’s degree with minimum of 1 year in Software Engineering, Computer Science, Electrical/Computer Engineering, or a closely related engineering or applied science discipline is required.

Education equivalency of:

  • A Bachelor’s degree in Software Engineering, Computer Science, Electrical/Computer Engineering with minimum of 3 years experience in a field closely related to the position.
  • A degree in another related field may be considered if combined with significant and relevant experience in software development, software integration, software architecture, web-based applications, simulation systems, or software support for UAS, C-UAS, autonomous systems, or similar research and engineering environments.

For information on certificates and diplomas issued abroad, please see Degree equivalency

Expérience

Experience

Applicants must demonstrate within the content of their application that they meet the following screening criteria:

  • Significant experience designing, developing, testing, maintaining, and documenting software applications and tools using at least two programming languages among Python, JavaScript/TypeScript, and C/C++, including embedded C programming, with experience building web applications, APIs, databases, visualization interfaces, and operator-facing software systems.
  • Experience with software architecture and design, including requirements analysis, modular design, interface definition, architecture diagrams, and related technical documentation.
  • Experience with collaborative software development workflows and software engineering practices, including Git-based version control, branching, merge requests, code review, issue tracking, testing, documentation, and CI/CD or automated build and deployment practices.
  • Experience integrating software with external systems, data sources, sensors, simulation tools, databases, and communication interfaces in research or engineering environments.
  • Experience with UAS software ecosystems, ROS 2, PX4, ArduPilot, MAVLink, Gazebo, software-in-the-loop simulation, hardware-in-the-loop workflows, ground-control software, or drone-related software integration.
  • Experience with HPC, edge computing, or hardware acceleration technologies, including platforms such as NVIDIA Jetson, CUDA, FPGAs, GPUs, or similar computing architectures.

The following criteria would be considered strong assets:

  • Experience deploying software to real robotic systems, such as UAVs, UGVs, legged robots, autonomous vessels, or other mobile robotic platforms, would be considered an asset.
  • Experience with messaging and communication technologies for real-time or distributed systems, such as DDS, Zenoh, ZeroMQ, MQTT, or similar frameworks, would be considered a strong asset.

*Significant refers to between 2 to 6 years.

Condition d’emploi

Condition of employment

Secret clearance

A thorough security clearance process will be applied.

For a Secret Clearance, verification of background information over a period of 10 years is required. Individuals must have lived in Canada for a sufficient period of time to enable the security screening process.

Exigences linguistiques

Language requirements

English or French

Information on language requirements and self-assessment tests

Critères d’évaluation

Assessment criteria

Candidates will be assessed on the basis of the following criteria:

Compétences techniques

  • Demonstrated ability to design, implement, debug, test, and maintain software applications in C++ and Python, with experience in JavaScript/TypeScript for web-based applications, dashboards, or client/server systems;
  • Ability to develop reliable, maintainable, and reusable software components for research, simulation, integration, or operational software systems;
  • Ability to design and document software architectures, including system architecture diagrams, component diagrams, interface diagrams, data-flow diagrams, deployment diagrams, and software workflows;
  • Ability to translate research, engineering, and operational requirements into software specifications, implementation plans, and testable software deliverables.
  • Knowledge of data management, logging, visualization, analysis, and reporting workflows for laboratory, simulation, field-test, or demonstration environments.
  • Strong knowledge of Linux-based software development environments, including scripting, configuration, debugging, troubleshooting, build systems, and deployment;
  • Knowledge of software testing, integration testing, automated build practices, CI/CD workflows, packaging, release management, and deployment of software components;
  • Knowledge of Docker or equivalent containerized environments is considered an asset.

Compétences comportementales

  • Technology support - Results orientation (Level 2)
  • Technology support - Self-knowing and self-development (Level 2)
  • Technology support - Communication (Level 2)
  • Technology support - Conceptual and analytical ability (Level 2)

Profils de compétences

Competency Profile(s)

For this position, the NRC will evaluate candidates using the following competency profile(s): Technology Support

View all competency profiles

Rémunération

Compensation

From $86,503 to $108,068 per annum.

NRC employees enjoy a wide-range of competitive benefits including a robust pension plan, comprehensive health and dental coverage, disability and life insurance, office closure at the end of December, and additional supports to enhance your well-being throughout your career and beyond.