Software Engineer

 

Description:

Software Engineer to support delivery of critical capabilities for the Canadian Army. You will be working with a multidisciplinary engineering team to deliver Intelligence, Reconnaissance, Target Acquisition and Surveillance (ISTAR) capabilities into a fully integrated tactical network, capable of providing flexible, multi-role and combat-capable communications, command and control. You will be part of an agile development team that is responsible for designing, implementing and verifying software components for ISTAR commanders and operators. As a team developer, you will support all stages of the software development lifecycle, including requirements analysis, system architecture and design, implementation, testing, and maintenance. This role requires on-site work at our Ottawa office and customer locations within the National Capital Region, with flexibility to work remotely when necessary. Occasional travel may be required to support customer field trials.
 

Responsibilities
 


 

As part of the Agile development team, you will:
 

  • Write clean, maintainable, and efficient code according to coding standards and best practices.
  • Plan and coordinate feature development.
  • Implement software components that integrate sensors into ISTAR solutions.
  • Participate in software code reviews.
  • Develop and perform software tests, and debug software.
  • Identify, analyze, document, and resolve issues and defects throughout the product life cycle.
  • Support verification and validation test events, including customer field trials.
  • Provide leadership and mentorship to more junior team members.
  • Stay up-to-date on industry developments, tools, and technologies to advance your skills and support team growth.
  • Perform related duties as assigned
     

Qualifications
 

The following are qualifications for P2 SW team members:
 

  • Bachelor’s degree in Software Engineering, Computer Science, or related discipline.
  • 5+ years experience developing system software.
  • Experience working on development projects with a disciplined approach to software engineering.
  • Proficiency in Java.
  • Knowledge of MVC (Model-View-Controller) and MVVM (Model-View-View-Model)
  • Strong problem-solving, debugging, and troubleshooting skills.
  • Excellent communication skills, both written and verbal.
  • Familiarity with software configuration management tools and the Agile software process.
  • Ability to work effectively independently and within a team environment.
  • Effective time management skills to meet schedule and budget targets.
  • Experience working with communication protocols and message exchange patterns (e.g., ZeroMQ, REST), as well as data serialization formats (e.g., protobuf, JSON).
  • Familiarity with Interface Control Documents for sensor systems would be an asset.
  • Experience working with object-oriented programming and design patterns.
  • Experience working with or familiarity with AI/ML models is preferred.

Organization General Dynamics Mission Systems–Canada
Industry IT / Telecom / Software Jobs
Occupational Category Software Engineer
Job Location Ottawa,Canada
Shift Type Morning
Job Type Full Time
Gender No Preference
Career Level Experienced Professional
Experience 5 Years
Posted at 2026-09-01 2:58 pm
Expires on 2026-10-16