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:
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 maintenance and complex life-cycle processes, procedures, and business functions in context of the Flight Data Systems.
Abilities:
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-fu
Benefits
Flexible schedule
Additional Information
Job Posting Title
Software Developer (2 Positions)
Job Category
Systems Engineering
Language Requirements
English / Anglais
Flexible Work Agreement Type
Hybrid / Hybride
Posting End Date
2026-06-15
Job Grade
PIPSC-3
Pay Range
$111,451 - $140,007
Job Summary
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.
Job Description
What NAV CANADA offers you:
Challenging, team-oriented work environment
Competitive compensation and benefits
Defined benefit pension plan
Opportunities for growth and development
Flexible work arrangements
Diverse and inclusive workforce
Key Accountabilities:
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
Job Requirements
Education:
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.