Job Description
At CN, we work together to move our company鈥攁nd North America鈥攆orward. 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 plays a critical part in the design, development, and long鈥憈erm evolution of production鈥慻rade, full鈥憇tack applications supporting CN鈥檚 Transportation business. While the role has a strong emphasis on native iOS and Android and Angular鈥慴ased web interfaces, the incumbent is also responsible for technical decisions that span the entire application stack including systems of interaction, backend services and integrations. Operating beyond day鈥憈o鈥慸ay feature delivery, the role also serves as a technical authority across the application lifecycle, ensuring solutions are scalable, secure, and supportable. This requires a working and practical understanding of backend platforms, system integrations, and operational environments to ensure front鈥慹nd and mobility decisions align with long鈥憈erm architectural and platform constraints. Main Responsibilities Software Development 路 Provide hands鈥憃n technical leadership for CN Transportation systems of interaction by guiding technical implementation decisions, ensuring solution quality and consistency, and aligning development work with established solution designs, development standards, and engineering best practices. 路 Design, develop, and maintain applications with a mobility鈥慺irst focus, delivering native iOS and Android apps, Angular web solutions, and supporting back鈥慹nd components while ensuring code quality, maintainability, and production readiness across the application lifecycle. 路 Establish and drive application lifecycle strategies by keeping technologies current, planning and executing modernization or refactoring efforts, managing technical debt transparently, and assessing lifecycle risks to support long鈥憈erm maintainability and operational stability. 路 Ensure production readiness and operational reliability by supporting deployments, validating monitoring and alerting capabilities, and resolving production issues with an emphasis on stability, observability, and continuous improvement. 路 Strengthen Agile delivery practices through effective collaboration, coaching, support of Scrum ceremonies, coordination of sprint activities, and conducting code reviews to uphold engineering quality and delivery standards. Technical Leadership 路 Act as the technical authority across the full application lifecycle, making key implementation and technology decisions that balance user experience, backend integration, platform constraints, scalability, security, and long鈥憈erm supportability. 路 Mentor and coach developers and specialists, providing day鈥憈o鈥慸ay technical guidance while coordinating Scrum execution through work assignments, sprint planning, prioritization, and guiding problem resolution within Agile delivery teams. 路 Establish and reinforce engineering quality standards, promoting clean code, consistent design patterns, and maintainable solutions across mobile and web applications through review, coaching, and demonstrated example. 路 Ensure production readiness and end鈥憈o鈥慹nd solution quality by overseeing testing and validation strategies, coordinating release readiness activities, and supporting change management processes to confirm solutions meet functional, non鈥慺unctional, and operational requirements. 路 Communicate complex technical challenges and delivery risks to leadership including product management, project leadership, and senior stakeholders by translating technical detail into clear impacts, options, and action plans. Working Conditions The role has standard working conditions in an office environment with a regular workweek from Monday to Friday. The role may occasionally require being available outside of business working hours to support any software issues in production or to maintain delivery timelines. Due to the nature of the role, the incumbent must be able to meet tight deadlines, handle pressure and stress. Requirements Experience Software Development 路 Between 10 to 15 years of overall work experience 路 Between 5 to 10 years of relevant experience in software development and scrum methodologies 路 Minimum 5 years of experience demonstrating technical leadership or overseeing deliverables o Experience working with vendors and outsourcing firms and managing outsourced staff Education/Certification/Designation 路 Bachelor's Degree in Computer Science, Software Engineering, or Information Technology Competencies 路 Judgement and...