Req ID:531041
At Alstom, we build what millions depend on daily - rail transportation systems that can't afford to fail. We're more than 85,000 people worldwide creating the industry's most diverse portfolio: high-speed trains, metros, trams, maintenance services and integrated systems.
Are you passionate about the railway world and complex systems? The Train Control & Monitoring Systems (TCMS) team opens its doors to you (St-Bruno office, QC).
The Train Control and Monitoring System (TCMS) team is involved in the improvement and troubleshooting of our customers active train fleets. The typical projects span from issue troubleshooting, obsolescence management to functional improvements.
The TCMS has an onboard and a wayside application: The onboard portion acquires train data, apply control rules and activates outputs for train operation. It also gathers multiple train health metrics that are sent to the wayside software over wireless links. The wayside application receives, processes, archives and makes this data available for consultation. This data is used for efficient train operation, preventive and reactive maintenance.
The team needs to increase its capacity into a distributed system with multi Operating Systems and programming languages environment, articulated through Network protocols, to fulfil our customers projects.
More Than a Job: A Mission
As an onboard Software developer, you will be responsible for the maintenance and improvement of the various software components as well as being a key player in the related design and troubleshooting of train software and build process tools.
The Software developer works in close relationship with the Software Testers and System Engineers towards the delivery of a reliable and issue free software in compliance with established processes in a continuous build, integration and delivery fashion.
Your Role, Your Impact
- Analyse data to define and validate technical solutions.
- Implement software solutions corresponding to client requirements.
- Troubleshoot, debug and assess onboard existing issues.
- Maintain and improve software development ecosystem (coding, configuration management, continuous integration, test tools, etc…)
- Participate in the entire software development lifecycle (analysis, design, development, testing, deployment, and maintenance).
- Write technical reports that comply with company standards.
What You Bring
You will have a demonstrable knowledge and capability across a range of different computer operating systems, medium-high software programming and network knowledge.
Candidate must be versatile, resourceful, autonomous and handy at intervening on existing SW components.
Profile & Technical Skills
- Bachelor’s or Master’s degree in Software Engineering, Computer Science, Electrical/Electronic Engineering, or equivalent.
- 3–5 years of experience in embedded software development.
- Strong programming skills in C, C++, C#.
- Good knowledge of scripting/programming languages such as Python, Bash/Shell scripting, and PowerShell.
- Experience with RTOS and embedded Linux.
- Comfortable working in both Windows and Linux development environments.
- Good understanding of embedded systems, multithreading, memory management, inter-process communication, and real-time constraints.
- Knowledge of communication protocols and interfaces such as Ethernet, TCP/IP, UDP, CAN, UART, SPI, and I²C.
- Experience with Git or any other source control, branching, and code review practices.
- Familiarity with build systems and toolchains such as CMake, Make, GCC, and cross-compilation.
- Experience with debugging (analyzing engineering log, Wireshark, etc), unit testing, and integration testing.
- Familiarity with CI/CD (Git piplines, jenkin jobs, …) and automated build/test environments.
- Knowledge of object-oriented programming, software architecture, and design principles.
- Ability to analyze software requirements and produce clear technical documentation.
- Good analytical, troubleshooting, problem-solving, communication, and teamwork skills.
Alstom, A Great Place to Grow
• Working daily in an innovative project environment
• Receiving a competitive salary including full social coverage (life, health, retirement) from the start of employment
• Developing new skills and your full potential through the continuous training offered
• Opportunities that match your ambitions within the organization
Location: Saint-Bruno (South Shore of Montreal).
Format: Permanent, full-time (40h).
Model: Hybrid (3 days on-site / 2 days remote)
Knowledge of a language other than French is an asset to facilitate communication with our partners, suppliers, colleagues, and international clients. In Quebec, French remains the primary working language of our company.
Here, progress isn't always easy but the impact is real. Because the scale is massive, the tasks are complex when the system runs, the train moves, and the city connects that feeling stays with you. And the legacy lasts.
Job Segment: Testing, Embedded, Developer, Linux, Information Technology, Technology