Embedded Software Developer

AlstomQuebec, CanadaOn-siteFull-timeMid level, 2–5 yearsListed 58 minutes ago

Apply now

About this role

Req ID:531041

At Alstom, we understand transport networks and what moves people. From high-speed trains, metros, monorails, and trams, to turnkey systems, services, infrastructure, signalling and digital mobility, we offer our diverse customers the broadest portfolio in the industry. Every day, more than 80 000 colleagues lead the way to greener and smarter mobility worldwide, connecting cities as we reduce carbon and replace cars.

Alstom is experiencing unprecedented growth in Canada. To meet the challenges of tomorrow's transportation, we are looking for talents ready to combine global expertise with local impact.

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.

Key Responsibilities

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.

You are responsible to:

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

Your profile

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 r eal-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.

What you will enjoy in this role and working at ALSTOM

• 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)

If you are ready to take up the challenge, we would be delighted to hear from you!

You don’t need to be a train enthusiast to thrive with us. We guarantee that when you step onto one of our trains with your friends or family, you’ll be proud. If you’re up for the challenge, we’d love to hear from you!

Important to note

As a global business, we’re an equal-opportunity employer that celebrates diversity across the 63 countries we operate in. We’re committed to creating an inclusive workplace for everyone.