Back to results

Specialist Software Development-CA

  • Quebec, QC, Canada

Full-time

Applications open in a new tab.

Job details

Job type
Full-time
Apply by
Experience
More than 5 years of experience as a Developer
Posting language
English
Posted

Original job description

Job Summary

The incumbent is responsible for assigned deliverables, aligning workload and focus on key tasks to deliver as per service commitment, as well as leveraging expertise and skill set to achieve delivery goals. The role contributes to the whole solution by analyzing functional specifications to identify the best technical design, and for the development, implementation and support of the application. The specialist leverages modern software tools, including AI-assisted development technologies, to optimize coding efficiency, unit testing, and solution quality. Depending on the assignment, the role may apply in either a project, enhancement, or support environment. The role may specialize in a particular technology domain, such as onboard systems, GIS, business portfolios or enterprise systems for example.

Main Responsibilities

Delivery

Write high-performing quality code to fulfill design specifications and pass code reviews with minimal number of defects, leveraging modern techniques and AI coding assistants where appropriate

Apply configuration on development environment when required

Participate in implementing full products in production

Support Developers in providing application versions and details for implementation plans

Technical Expertise

Interact with the Functional Designer to understand requirements for medium-complexity solutions

Highlight technical impacts of functional designs on existing applications based on a detailed analysis

Deliver technical design and database structure for medium to high application complexity

Maintain comprehensive technical documentations and promote basic AI tools (e.g. GenAI code assistance, automated unit testing tools) to streamline personal coding workflows

Architecture

Contribute to developing design and coding standards applied across the development practice

Document blueprint / software architecture based on requirements and functional designs

Participate to the CN Enterprise Architecture principles

Quality Controls

  • Ensure Quality Key Performance Indicators (KPIs) are identified, measured, and produced in compliance with development standards.
  • Ensure consistent, high-quality testing (e.g., Unit, Assembly, and automated regression testing) across assigned projects

Working Conditions

The role has standard working conditions in an office environment with a regular workweek from Monday to Friday and is eligible to participate in CN's hybrid work model. The role involves managing priorities and delivering work within established timelines, with support from the team to ensure sustainable and effective workload management. Occasional off-hour support may be required if assigned to application support duty within CN's 24/7 operational railway environment.

Experience

Software Development

  • More than 5 years of experience as a Developer
  • Practical experience with Linux internals, containers and shell scripting
  • Practical experience with source code and binary repositories using git and Azure Development Operations (ADO)
  • Practical experience designing coding distributed systems (e.g., asynchronous and synchronous)
  • Experience designing and developing front-end (e.g., Angular) and back-end microservices
  • Experience leading engineering project teams and working with cross functional partners to build technical solutions that achieve team and organizational goal
  • Hands-on experience using modern development tools and basic AI-assisted coding tools (e.g. CoPilot, Gemini for developers) to optimize workflow.
  • Candidates with an equivalent combination of education, training, and experience will be considered

Education/Certification/Designation

  • Bachelor's Degree in Computer Science, Computer Engineering, or related field.
  • Candidates with equivalent practical experience, education, or training will be considered

Competencies

  • We Care About Each Other
  • We Strive for Excellence
  • We Succeed Together
  • We Lead Responsibly
  • Compliance
  • Customer service
  • AI Literacy and data orientation
  • High
  • Process optimization

Technical Skills/Knowledge

Proficiency in core programming language and frameworks: Java, Python, JavaScript and Typescript, Angular, Spring Boot.Knowledge of infrastructure as code(e.g.,Terraformand Ansible).Ability to draw architectural diagrams, guides and documentation to share across teams.Ability to automate continuous integration and continuous deployments pipelines (CI/CD) using Azure Development Operations.Familiarity with AI-assisted software engineering practices and prompt engineering for code development.

  • Knowledge of Metrics Frameworks, Logging, Distributed Tracing, Profiling, Cloud-Native technologies, and Cloud-native Observability tools.
More about this job

Responsibilities

Develop, test, implement, and support high-quality applications and solutions, including technical designs, database structures, and architecture documentation. Uphold development standards and quality KPIs, contribute to enterprise architecture and coding practices, and use modern and AI-assisted tools to improve delivery and testing.

Requirements

Requires more than five years of software development experience, practical experience with Linux, containers, shell scripting, Git, Azure DevOps, distributed systems, and front-end and back-end microservices. A bachelor's degree in computer science, computer engineering, or a related field is specified, with equivalent practical experience, education, or training also considered.

Skills

  • Java
  • Python
  • JavaScript
  • TypeScript
  • Angular
  • Spring Boot
  • Linux Internals
  • Containers
  • Shell Scripting
  • Git
  • Azure DevOps
  • Distributed Systems
  • Microservices
  • Infrastructure as Code
  • CI/CD
  • AI-Assisted Development

Visa sponsorship

Not detected in the job text

Categories

  • Software
  • Technology
  • Transportation
  • Engineering

Keywords

  • Software Development
  • Java
  • Python
  • JavaScript
  • TypeScript
  • Angular
  • Spring Boot
  • Linux Internals
  • Containers
  • Shell Scripting
  • Git
  • Azure DevOps
  • Distributed Systems
  • Microservices
  • Infrastructure as Code
  • Terraform
  • Ansible
  • CI/CD
  • AI-Assisted Coding
  • Prompt Engineering
  • Unit Testing
  • Automated Regression Testing
  • Cloud-Native Technologies
  • Logging
  • Distributed Tracing
  • Profiling
  • Observability
  • Enterprise Architecture
  • Rail Transportation

Report this job