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 Expert 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 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.