.Software ArchitectDate: 1 Aug 2024Location: Madrid, ES Company: Alstom 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.Your future roleTake on a new challenge and apply your SOFTWARE ARCHITECT expertise in a new cutting-edge field. You'll work alongside young and talented teammates.You will lead the Software architecture, design, and specification of a system or a sub-system part of it for new development or evolutions of existing ones, in complement to the system designer role. Day-to-day, you'll work closely with teams across the business (Product Architects, System Architects, or System Engineers), contributing to the elaboration of product/system specification & architecture, and much more.You'll be a member of the program Software engineering team with functional leadership over the software team for the applicable system or sub-subsystem of the product.Your purpose will be to maximize product value by managing and optimizing the applicable system or sub-subsystem product backlog being responsible for organizing, prioritizing, and assessing work for the applicable system or subsystem scrum team incorporating feature requests, grooming and prioritizing backlog, and developing user stories and acceptance criteria.We'll look to you for:Define the software requirements specificationsDefine the functional requirements, operational requirements, interfaces requirements and the requirements linked to performance and cybersecurity constraints.Ensure that all the requirements can be verified (testability).Ensure the traceability of the software requirements through the development cycle and with the System Requirement Specifications (SyRS).Define the software architectureElaborate the functional and structural breakdown into software components.Allocate the requirements to the software components.Define the interfaces between the software components.Define the dynamical behavior of the software.Validate the feasibility of the solution: model simulation, mock-up.Take main technical choices for software developmentSelect development tools, methodology, programming languages, coding strategy, and coding rules, strictly following internal process/methods & tools recommendations.Contribute to the selection of the execution environment (processor, operating system, middleware, basic software), together with the product architect, system engineering manager, and hardware architect.Arbitrate and validate major software design choices.Perform software/software integration, together with the software designers.Perform hardware/software integration if applicable