cover image
General Dynamics Mission Systems–Canada

Junior Software Engineering Developer (New Grad)

Hybrid

Calgary, Canada

Junior

Full Time

23-12-2025

Share this job:

Skills

Communication Python Java C# Kotlin Bash PowerShell Dynamics GitLab CI/CD DevOps Docker Kubernetes Configuration Management Jenkins Ansible Test Scrum Problem-solving Networking Linux Programming apache git Analytical Skills Software Development cloud platforms Agile Maven Gradle Gitlab CI Android Terraform GitLab CI/CD

Job Specifications

Build bold. Deliver impact. Win together.

At General Dynamics Mission Systems–Canada, we’re not just engineering technology — we’re shaping the future of defence and security. Our teams design and deliver advanced, mission-critical solutions that enhance national security, strengthen communities, and protect the people we serve.

If you’re looking for meaningful work that contributes to a safer, more secure world, you’ll find purpose here. Every day, your skills will directly impact programs that matter.

Job Description

We are seeking Junior Software Engineering Developers to support the design, development, integration, and testing of mission-critical software and firmware used in land-based defence systems. In this role, you will work within Agile, multidisciplinary teams on applied software engineering problems involving systems integration, embedded and firmware development, automated testing, and deployment in complex operational environments. You will contribute directly to production systems across the software development lifecycle, working alongside experienced engineers on real-world capabilities.

This posting supports multiple junior software engineering opportunities beginning May 2026 and is well suited for recent or upcoming Engineering and Applied Science graduates.

In this role you may…

Design, implement, integrate, and maintain software and firmware components and plugins for mission-critical land defence systems.
Develop software for embedded platforms, ARM processors, microprocessors, and Linux-based systems.
Design and implement user interfaces and features aligned with system requirements, including potential exposure to Android application development.
Build and maintain automated tests (unit, integration, and system-level) using Python and related frameworks; support lab and field verification.
Configure, deploy, and maintain development, integration, and test environments (on-premises, virtualized, or cloud-based).
Participate in Agile team ceremonies, including stand-ups, sprint planning, reviews, and retrospectives.
Collaborate with engineers across software, systems, hardware, test, and UX disciplines, as well as product owners and scrum masters, to deliver integrated solutions.
Document code, design decisions, test plans, and integration workflows; participate in technical and code reviews.
Analyze system behaviour, troubleshoot defects, and propose effective solutions.
Identify opportunities for technical or process improvements and contribute to best practices.
Explore and support integration of emerging technologies such as AI-enabled tools, cloud platforms, and DevSecOps practices.
Assist with system-level testing, field trials, and integration activities; communicate updates and system behaviour to stakeholders.
Build technical skills, expand domain knowledge, and actively contribute to team learning and knowledge-sharing.

Qualifications

Required

Bachelor’s degree in Software Engineering, Computer Science, Engineering Physics or a related discipline.
Experience with at least one modern programming language (i.e., C#, Java, Kotlin, Python, or C).
Strong problem-solving and analytical skills.
Excellent communication skills and ability to collaborate in a multidisciplinary team.
Enthusiastic contributor, willing to learn new skills, and takes ownership of work.

Preferred

Experience with DevOps or CI/CD tools and pipelines, including build and dependency-management systems (e.g., Jenkins, GitLab CI/CD, Maven, Gradle, Make, Docker, Kubernetes, Ansible, Terraform).
Experience with automated testing frameworks and practices, including unit, integration, and system-level testing (e.g., pytest, Robot Framework).
Familiarity with software configuration management tools (e.g., Git, GitLab, Rational Team Concert).
Scripting and systems-level development exposure, including Bash or PowerShell scripting, Linux command-line usage, and embedded or firmware-oriented environments.
Experience with Android application development (e.g., Android Studio, Kotlin/Java, Gradle, mobile UI frameworks).
Understanding of software development methodologies such as Agile or iterative development.
Knowledge of computer networking concepts and communication protocols (e.g., REST, ZeroMQ).
Experience with AI tools such as OpenWebUI, Ollama, and Apache Tika.

How We Work

Work Schedule: 37.5 hours per week - flexible within core business hours.
Work Arrangement: A mix of onsite and remote work, as determined by business and role requirements.

It is a requirement that General Dynamics Mission Systems-Canada be registered with the Canadian Controlled Goods program and that all of its workforce be security assessed. Successful applicants must meet all applicable security requirements, including but not limited to the ability to obtain and maintain a Canadian government security clearance. Applicants may be required to meet additional security requirements in order to gain access to technical data, cl

About the Company

As one of Canada's largest, most established defence and security technology companies, General Dynamics Mission Systems-Canada is a force in the business community, developing and utilizing the skills of Canadian suppliers, building Canada's manufacturing base, and supporting research and development, while providing a flexible and innovation-driven workplace for over 1,200 employees across the country. For more than 70 years, we have been a trusted partner to militaries worldwide. We are proud of the work we do to develop ... Know more