Specialist - Senior Software Development
Apply NowCompany: Canadian Pacific Railway Limited
Location: Montreal, QC H1A 0A1
Description:
At CN, we work together to move our company-and North America-forward. Be part of our Information & Technology (I&T) team, a critical piece of the engine that keeps us in motion. From enterprise architecture to operational technology, our teams use the agile methodology to automate and digitize our railroad ensuring our operations run optimally and safely, and our employees can focus on value-added tasks. You will be able to develop your skills and career in our close-knit, safety-focused culture working together as ONE TEAM. The careers we offer are meaningful because the work we do matters. Join us!
Job Summary
The role of Senior Software Development is responsible for fast and high quality development of full-stack software systems, in the context of integrating innovative geospatial capabilities and real-time data into intuitive mobile and web applications. The Specialist is a key player in the team, ensuring the technology developed and delivered is easy to maintain, secure, reliable, available, resilient, performant, and aligned with safety standards per business requirements.
The immediate position is to contribute to the CN Automated Train Inspection and Automated Track Inspection programs by developing various new software systems and adding new functionalities to existing ones
Main Responsibilities - Software Development
Developing and maintaining the frontend and backend of applications
Building responsive user interfaces and experiences optimized for different form-factors
Implementing mapping/location capabilities and integrating geospatial data services
Employing test-driven development and DevOps processes like CI/CD and automation
Designing and implementing REST APIs and integrations with internal and external systems
Developing offline capabilities and synchronization with backend databases
Collaborating with stakeholders and Business Analyst to gather requirements and design solutions
Modeling complex railroad networks and assets using graph concepts and algorithms
Evaluating and solutioning of business requirements as part of the team
Estimating implementation (design, development, documentation, testing) efforts related to the requirements
Documentation of the developed software systems and functionalities
Testing, support, and bug fixes
Ensure that the solution designed meets all business requirements
Follow standards and best practices to ensure the systems developed is maintainable, sustainable, and properly documented
Follow standards and best practices to ensure reliability, safety and cybersecurity standards are imbedded in the development of the sub systems
Work with the system designer to adopt and enforce best practices
Work with the team to ensure the system development is fully understood and developed with high quality
Establish test plans and tests results for newly defined solution.
Define and maintain engineering and configuration standards
Apply, and ensure compliance with, all appropriate CN I&T standards (e.g. Security, Architecture, Project Delivery Methodology, SOX, Telecom, Software Engineering, etc.)
Help with support issues during project migration or deployment, determine appropriate resolution/solution through root cause analysis and impact analysis
Conduct code reviews and ensure high quality coding standards
Requirements
Experience
Minimum 7 years experience in web application development
5+ years of relevant technical expertise including complex detailed design and solution integration.
Skills/Knowledge
Ability to estimate efforts and costs required for delivery
Ability to work on multiple projects in parallel and meet deliverable dates
Good technical documentation skills
Excellent verbal and written communication abilities: must effectively communicate with technical and non-technical teams
Fluency in English, both oral and written. Bilingual proficiency will be considered an asset
Participate in teams working in an Agile/Scrum or Waterfall process and ensure the stories/tasks are well defined and have all the information and tools to be successful
Leadership skills and ability to influence and guide others on integration and technical matters
Proven experience delivering technology projects involving multiple parties
Work with the Project Manager and project stakeholders to ensure we meet project commitments
Ability to work in teams and independently on tasks and deliver with a high-level of quality
Ability to learn quickly and to adapt to a fast-paced environment
Fast thinker and always seeking continuous improvement in the delivery
Knowledge of IT security principles
Knowledge of networking and troubleshooting networking issues
Proficient with Angular, JavaScript/TypeScript, HTML, CSS, C#, SQL, REST APIs
Strong knowledge of CI/CD methodologies and tools (Azure DevOps, Jenkins, Gitlab CI, GitHub Actions, etc.)
Familiarity with design patterns like MVC, MVP, MVVM and architecture best practices
Education/Certification/Designation
Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or a related field of study, or equivalent work experience
DevOps Certification an asset
About CN
CN is a world-class transportation leader and trade-enabler. Essential to the economy, to the customers, and to the communities it serves, CN safely transports more than 300 million tons of natural resources, manufactured products, and finished goods throughout North America every year. As the only railroad connecting Canada's Eastern and Western coasts with the Southern tip of the U.S. through a 19,500 mile rail network, CN and its affiliates have been contributing to community prosperity and sustainable trade since 1919. CN is committed to programs supporting social responsibility and environmental stewardship. At CN, we work as ONE TEAM, focused on safety, sustainability and our customers, providing operational and supply chain excellence to deliver results.
CN requires that all employees be fully vaccinatedagainst COVID-19 and provide proof thereof as a condition of employment. TheCompany's vaccination mandate extends to employees of our wholly ownedsubsidiaries as well as CN's contractors, consultants, agents and suppliers andanyone who accesses CN properties in Canada.
CN is an employment equity employer and we encourage all qualified candidates to apply. We thank all applicants for their interest, however, only candidates under consideration will be contacted. Please monitor your email on a regular basis, as communication is primarily made through email.
Job Summary
The role of Senior Software Development is responsible for fast and high quality development of full-stack software systems, in the context of integrating innovative geospatial capabilities and real-time data into intuitive mobile and web applications. The Specialist is a key player in the team, ensuring the technology developed and delivered is easy to maintain, secure, reliable, available, resilient, performant, and aligned with safety standards per business requirements.
The immediate position is to contribute to the CN Automated Train Inspection and Automated Track Inspection programs by developing various new software systems and adding new functionalities to existing ones
Main Responsibilities - Software Development
Developing and maintaining the frontend and backend of applications
Building responsive user interfaces and experiences optimized for different form-factors
Implementing mapping/location capabilities and integrating geospatial data services
Employing test-driven development and DevOps processes like CI/CD and automation
Designing and implementing REST APIs and integrations with internal and external systems
Developing offline capabilities and synchronization with backend databases
Collaborating with stakeholders and Business Analyst to gather requirements and design solutions
Modeling complex railroad networks and assets using graph concepts and algorithms
Evaluating and solutioning of business requirements as part of the team
Estimating implementation (design, development, documentation, testing) efforts related to the requirements
Documentation of the developed software systems and functionalities
Testing, support, and bug fixes
Ensure that the solution designed meets all business requirements
Follow standards and best practices to ensure the systems developed is maintainable, sustainable, and properly documented
Follow standards and best practices to ensure reliability, safety and cybersecurity standards are imbedded in the development of the sub systems
Work with the system designer to adopt and enforce best practices
Work with the team to ensure the system development is fully understood and developed with high quality
Establish test plans and tests results for newly defined solution.
Define and maintain engineering and configuration standards
Apply, and ensure compliance with, all appropriate CN I&T standards (e.g. Security, Architecture, Project Delivery Methodology, SOX, Telecom, Software Engineering, etc.)
Help with support issues during project migration or deployment, determine appropriate resolution/solution through root cause analysis and impact analysis
Conduct code reviews and ensure high quality coding standards
Requirements
Experience
Minimum 7 years experience in web application development
5+ years of relevant technical expertise including complex detailed design and solution integration.
Skills/Knowledge
Ability to estimate efforts and costs required for delivery
Ability to work on multiple projects in parallel and meet deliverable dates
Good technical documentation skills
Excellent verbal and written communication abilities: must effectively communicate with technical and non-technical teams
Fluency in English, both oral and written. Bilingual proficiency will be considered an asset
Participate in teams working in an Agile/Scrum or Waterfall process and ensure the stories/tasks are well defined and have all the information and tools to be successful
Leadership skills and ability to influence and guide others on integration and technical matters
Proven experience delivering technology projects involving multiple parties
Work with the Project Manager and project stakeholders to ensure we meet project commitments
Ability to work in teams and independently on tasks and deliver with a high-level of quality
Ability to learn quickly and to adapt to a fast-paced environment
Fast thinker and always seeking continuous improvement in the delivery
Knowledge of IT security principles
Knowledge of networking and troubleshooting networking issues
Proficient with Angular, JavaScript/TypeScript, HTML, CSS, C#, SQL, REST APIs
Strong knowledge of CI/CD methodologies and tools (Azure DevOps, Jenkins, Gitlab CI, GitHub Actions, etc.)
Familiarity with design patterns like MVC, MVP, MVVM and architecture best practices
Education/Certification/Designation
Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or a related field of study, or equivalent work experience
DevOps Certification an asset
About CN
CN is a world-class transportation leader and trade-enabler. Essential to the economy, to the customers, and to the communities it serves, CN safely transports more than 300 million tons of natural resources, manufactured products, and finished goods throughout North America every year. As the only railroad connecting Canada's Eastern and Western coasts with the Southern tip of the U.S. through a 19,500 mile rail network, CN and its affiliates have been contributing to community prosperity and sustainable trade since 1919. CN is committed to programs supporting social responsibility and environmental stewardship. At CN, we work as ONE TEAM, focused on safety, sustainability and our customers, providing operational and supply chain excellence to deliver results.
CN requires that all employees be fully vaccinatedagainst COVID-19 and provide proof thereof as a condition of employment. TheCompany's vaccination mandate extends to employees of our wholly ownedsubsidiaries as well as CN's contractors, consultants, agents and suppliers andanyone who accesses CN properties in Canada.
CN is an employment equity employer and we encourage all qualified candidates to apply. We thank all applicants for their interest, however, only candidates under consideration will be contacted. Please monitor your email on a regular basis, as communication is primarily made through email.