Software Develoment Specialist - Montreal
Canadian National Railway Company
Quebec City, QC
Software Develoment Specialist
ABOUT INFORMATION & TECHNOLOGY AT CN CN harnesses the power of information every minute of every day to make better decisions. Almost every aspect of our business relies on technology; this is why CN invests around $100 million every year on IT projects and infrastructure. And with close to 1,000 in-house employees, CN's IT team is more than a first-class technology shop - they're railroaders, dedicated to enabling our people to work better and to helping our trains run safely. WHY YOU WANT THIS JOB CN has begun a critical technological transformation, bringing significant innovation to the locomotives. If you are interested by challenges involving complex systems, leading-edge technologies, over the air communications, edge computing and predictive analysis you will be at the right place at the right time. Join us if you have what it takes to be a key player in designing and deploying leading-edge technology systems. The Application Developer will have accountability to ensure on-board systems and business applications meet PTC Regulatory and future Locomotive technology requirements. The Application Developer will ensure that documentation standards are created and maintained, and project timelines, milestones, and stakeholder updates are delivered. This position requires to be engaged in the design, development, integration and deployment of new and existing Software running on CN Locomotives fleet technology systems and communicating with back-end corporate sites. Additional responsibilities include documenting and enhancing rail PTC (Positive Train Control) and multiple other Business Applications on-board Locomotives, including Fuel Management, Video Camera recording, Monitoring Applications, and future Locomotive Electronics Applications. RESPONSIBILITIES Understand PTC and Locomotive Architecture in order to develop Specifications on technical Design aspects (Hardware & Software integration) Involvement up to Production Field Deployment after iterative roll-out of more than 1400 locomotives over the next years Understand Design and develop Business Application Solutions for different Linux Locomotive platforms Propose enhancements and modifications to the design of information systems and security controls for the Locomotive devices Interaction with internal IT teams, Mechanical and PTC Support teams Develop OT Monitoring and System Management practices, products and integration for the Locomotive on-board Systems Quickly learn PTC in terms of FRA Laws, AAR Standards, and Mechanical Concepts. Establish Application Configuration changes and upgrades procedures according to IT industry best practices Design and develop pro-active detection rules for Fuel Optimization, for preventive maintenance Troubleshooting, monitoring, performance and tuning of all software in our CN Locomotives Work toward understanding and taking ownership of on-board systems such as Loco Vision, Regulatory Event Recorders and Fuel Efficiency Applications Ensure compliance with and oversee development and execution of testing strategies, test plans, and test procedures to validate that the system correctly implements the specification Ensure that established schedules and budgets are met for specified projects REQUIREMENTS The computing platforms, environments and tools used for Locomotive systems at this time: Red Hat Linux, CentOS, QNX, Python and Bash Scripts, AMQP Messaging). Expected to develop processes, scripts, configurations and tools in these environments Experience in development on RTOS and ARM processor Experience in application development running on VM and Docker containers Skills in Node.js, HTML5 and SQL Detail and Results oriented Able to communicate with developers, testers, change and release management, as well as end-users from all levels of the company Experience in system documentation and application of structured systems engineering processes, including test planning and test execution and documentation Prior experience with railway operations is an asset Knowledge of ITCM is an asset Experience as Unix/Linux system administrator is an asset A basic understanding of the mechanical, pneumatic, and electrical and electronic systems on diesel electric locomotives is an asset Experience with successful Operational projects implementation is an asset Experience working in an Agile environment is an asset Does CN offer entry-level positions?
Yes, we have many positions ranging from entry to senior levels, both in the field and in corporate and IT functions. All available positions are posted onto our Careers website.
Does CN hire students, interns, and new graduates?
©2013-2019, Canadian National Railway Company
Terms Conditions
Yes, Internship opportunities are posted onto our Careers website, when available.
What's the best way to apply for a position at CN?
Search and apply for a job on our Careers website. Once you've created a profile you'll be able to apply for additional openings and view the status of your application(s). We do not accept resumes by email, fax or mail.
Can I apply for more than one job at the same time?
Yes, feel free to apply to any jobs you're qualified for.
What is the rehire process for former CN employees?
The application process for a former CN employee is the same as for all other candidates.
Does CN accept foreign applicants?
CN requires that applicants be legally eligible to work in Canada or the US. This includes Citizens, Permanent Residents, or anyone in possession of a work permit with certain conditions. At this time, CN does not provide immigration assistance to foreign applicants.
What is my application status?
To see your application status, go to our Careers website and login to your candidate profile. It may take some time before your status is updated, as we receive a high volume of applications on a daily basis. If you are being considered for a job, you will be contacted by a member of our Recruitment Team.
Can I withdraw an application?
Yes, if you change your mind about a particular job, you may withdraw your application at any time. If you've already received a job offer, you can simply decline it.
I completed an Online Assessment, what are my next steps?
The Recruitment Team will notify you by email whether or not you will be moving on to the next step of the recruitment process, based on your online assessment results. If successful, you will be invited to the next available recruitment session hosted in the location you have applied to. Keep in mind that it can take several weeks before a session becomes available.
I was unsuccessful with the online assessment - how long must I wait before I can re-apply?
You will have to wait a period of 6 months before you are eligible to re-apply to a position that requires the same testing.
I am having technical difficulties with the online assessment.
For online assessment troubleshooting and support please contact
I was not selected for a job and would like feedback on my application.
Due to the high number of applications we receive, we cannot provide feedback as to why each candidate was not progressed.
How do I create a Careers profile?
Click the Create a Profile button in the upper right-hand corner of our Careers website and complete the form and captcha.
Can I edit a previously submitted cover letters, resumes, and/or documents?
No, once an application has been submitted, you cannot upload additional documents, revise questions, nor replace the existing resume or letters attached to that application.