- Company Name
- General Dynamics Mission Systems–Canada
- Job Title
- Junior Software Engineering Developer (New Grad)
- Job Description
-
**Job Title**
Junior Software Engineering Developer (New Grad)
**Role Summary**
Support the design, development, integration, and testing of mission‑critical software and firmware for land‑based defence systems. Work in Agile multidisciplinary teams on embedded platforms, firmware, automated testing, and deployment within complex operational environments.
**Expectations**
- Complete end‑to‑end software development tasks under senior guidance.
- Participate fully in Agile ceremonies and cross‑disciplinary collaboration.
- Maintain high coding, testing, and documentation standards.
- Demonstrate ownership, a willingness to learn, and effective communication.
**Key Responsibilities**
- Design, implement, integrate, and maintain software/firmware components for ARM and Linux‑based embedded systems.
- Develop user interfaces, including potential Android applications.
- Build and maintain automated tests (unit, integration, system) using Python and related frameworks.
- Configure, deploy, and maintain development, integration, and test environments (on‑premise, virtual, cloud).
- Participate in code reviews, document design decisions, test plans, and integration workflows.
- Analyze system behavior, troubleshoot defects, and propose solutions.
- Identify technical and process improvement opportunities; support emerging technologies such as AI and DevSecOps.
- Assist with system‑level testing, field trials, and integrate updates to stakeholders.
**Required Skills**
- Proficiency in at least one modern programming language (C#, Java, Kotlin, Python, or C).
- Strong analytical and problem‑solving abilities.
- Excellent communication and collaboration in multidisciplinary teams.
- Understanding of Agile or iterative development methodologies.
- Experience with embedded or firmware development on ARM/processor platforms.
- Familiarity with automated testing frameworks (e.g., pytest, Robot Framework) and CI/CD tools (Jenkins, GitLab CI/CD, Docker, Kubernetes).
- Knowledge of software configuration management (Git, GitLab, etc.).
- Scripting experience (Bash, PowerShell) and Linux command‑line usage.
- Awareness of network protocols (REST, ZeroMQ) and AI tool exposure is a plus.
**Required Education & Certifications**
- Bachelor’s degree in Software Engineering, Computer Science, Engineering Physics, or related discipline.
- Security clearance may be required.