Software Developer
Nav Canada
- Ottawa, ON
- $103,540-130,069 per year
- Permanent
- Full-time
- Challenging, team-oriented work environment
- Competitive compensation and flexible benefits
- Defined benefit pension plan
- Opportunities for growth and development
- Flexible work arrangements
- Diverse and inclusive workforce
- Ensure system safety is maintained within the software domain.
- Assist in system / software / user requirements gathering, documentation and analysis.
- Preform detailed design and implement changes / enhancements to software applications and systems.
- Design, perform, and review the code required to incorporate the detailed design.
- Create, perform, and review the unit, integration, and release testing for software and systems.
- Create, perform, and review data analysis on system performance and trends.
- Participate in projects of varying complexity.
- Participate in working groups related to the software domain.
- Responsible for planning, specifying, and evaluating software and computer systems in support of procurement activities.
- 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 experience.
- Experience in software engineering, development, integration, configuration, testing, and maintenance for sophisticated application and embedded software.
- Experience in system development projects involving the design, development, and installation.
- Experience in data analysis and performance trends of software, and systems.
- Experience in C and / or C++ and / or JavaScript.
- Experience in Python, and / or shell scripts programming language.
- Experience in operating systems (such as QNX or Linux).
- Experience with the following would be considered an asset:
- PowerBI, and / or Apache Spark
- Source code management software IBM Jazz and/or GITLab
- Web-based technology and design such as React and / or TypeScript
- Scaled Agile
- Monitoring and controlling software as well as data processing, acquisition, and distribution systems
- Python, TypeScript, QT, React, Electron, HTML, CSS, JSON, XML
- Knowledge of software development and testing processes from preliminary design to formal testing and acceptance.
- Knowledge of object-oriented and/or event-driven programming analysis and design methodology and techniques.
- Knowledge of C / C++, Java, and JavaScript programming languages.
- Knowledge of Linux-based distributions and Kickstart installation scripts.
- Knowledge of agile development and testing methodologies.
- Knowledge of various surveillance data formats such as ASTERIX.
- Knowledge of networking, communication standards and protocols such as Protobuf, Modbus and SNMP.
- Knowledge of cyber security concerns and concepts that relate to software and systems.
- Knowledge of maintenance processes, procedures, and business functions in context of safety critical system.
- Ability to control the quality of software and system products, releases, and modifications.
- Ability to solve complex problems by defining and implementing practical solutions.
- Ability to formulate and evaluate proposals related to feasibility studies, design concepts, testing, implementation and life-cycle management of safety critical systems and software.
- Ability to create, document and execute test plans, cases, and scripts for software and system changes.
- Ability to provide expert advice, coaching / guidance, and opinions in area of specialization.
- Ability to analyze large data and provide summaries and recommendations.
- Ability to communicate effectively both orally and in writing.
- Communicate effectively in English both orally and in writing.
- Develops effective and positive interpersonal relationships through respect for others, fairness, tact, effective expression, and open communication.
- Demonstrates initiative, integrity, good judgement, dependability, and a positive attitude.
- Strong attention to detail.
- Problem solving and creative thinking skills.
- Works well independently and in close collaboration with team members.
- Occasional travel is required.
- Drivers’ license is required.
- This position is based at the Ottawa Technical Services Centre but may be eligible for a flexible work arrangement.