Software Developer (2 Positions)

NAV CANADAOttawa, ON
CA$111,451 - CA$140,007Hybrid

About The Position

NAV CANADA is seeking a self-motivated and detail-oriented Software Developer to join our software development team and contribute to real-world software projects that support and shape the present and future of Air Navigation Services in Canada. The Software Developer will work closely with senior developers and cross-functional teams to plan, design, develop, test, and maintain solutions of complex computer software systems. Areas of responsibility include software requirements implementation, subsystem detailed design, coding, unit test development and conduct, unit integration and testing, software domain performance assessment, and software domain safety impact mitigation. Preference will be given to candidate with experience working with a rigorous process for safety critical systems.

Requirements

  • Graduation from a recognized community college or university with specialization in computer science or systems engineering or a secondary school diploma and an acceptable combination of education, training, and relevant experience.
  • 3 to 5 years of progressively more experience in software engineering and software design, development or maintenance for sophisticated application software in data acquisition and distribution systems such as those used in Flight Data Systems.
  • Experience in software integration, software configuration management and software testing.
  • Experience with distributed computer based systems.
  • Experience with flight plan and route processing, 4D trajectory modelling and conflict prediction processing in context of the Flight Data Systems.
  • Experience in Ada, C and / or C++ programming languages for Linux based systems.
  • Experience with shell scripting (Bash), Python, Ruby , JSON, XML, MySQL, Postgres and Elastic (ELK) Stack.
  • Experience with full software development lifecycle (SDLC)
  • Experience in planning, specifying, and evaluating software and computer systems related development activities.
  • Experience with Agile framework and/or traditional development cycle across multiple engineering disciplines
  • Knowledge of Software Engineering principles and methodologies, including structural and object-oriented programming.
  • Knowledge of object-oriented and/or event driven programming analysis and design methodology and techniques.
  • Knowledge of DataBase Management Software (DBMS).
  • Knowledge of RHEL compatible Linux.
  • Knowledge of software development and testing (manual and automatic) processes from preliminary design to formal testing and acceptance.
  • Knowledge of large-scale computer systems, hardware, software languages, Computer Aided Software Engineering (CASE) environments, test, debug, software development, software generation and configuration management tools.
  • Knowledge of maintenance and complex life-cycle processes, procedures, and business functions in context of the Flight Data Systems.
  • Ability to formulate and evaluate proposals related to feasibility studies, design concepts, testing, implementation, and life-cycle management of large computer systems.
  • Ability to prepare estimates, and help direct tasks, establish priorities, delegate authority for the completion of specific projects and anticipate problems.
  • Ability to guide and help develop junior team members.
  • Ability to apply strong analytical, problem-solving skills to evaluate situations and develop effective solutions, integrating both desktop and server-side components
  • Ability to write and execute unit and integration tests to ensure the reliability and stability of code deployments
  • Ability to clearly articulate technical concepts to both technical and non-technical stakeholders and contribute to technical documentation
  • Ability to work independently and collaboratively within cross-functional teams
  • Communicate effectively both orally and in writing.
  • Build and maintain positive working relationships (respect for others, fairness, tact, persuasiveness, open communication) with team members, colleagues, and supervisors.
  • Show initiative and exercise sound judgment in decision-making.
  • Demonstrate resilience and adaptability in dynamic environments.
  • Maintain high attention to detail and a commitment to quality.
  • Exhibit integrity, a strong work ethic and sense of responsibility.
  • Display genuine enthusiasm for technology and continuous learning.
  • The successful candidate must meet the security requirement of the position and be legally able to work in Canada.

Nice To Haves

  • Experience working with a rigorous process for safety critical systems.

Responsibilities

  • Ensure system safety by performing work in accordance with internal policy standards and product development process
  • Assist in performing detailed design of changes / enhancements to the software subsystems
  • Guide, perform and review the coding required to incorporate the detailed design
  • Guide, perform and review the unit test development and conduct for the changes to the software
  • Guide, perform and review unit integration and testing for the changes to the software
  • Guide, perform, and review system integration and testing for the changes to the software across all domains
  • Maintain and enhance existing software systems, ensuring performance, scalability and reliability

Benefits

  • Competitive compensation and benefits
  • Defined benefit pension plan
  • Opportunities for growth and development
  • Flexible work arrangements
  • Diverse and inclusive workforce
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service