Alstom
Job title:
Software Architect
Company:
Alstom
Job description
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.Could you be the full-time SOFTWARE ARCHITECT in Madrid we’re looking for?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’ll 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 his/her 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, groom and prioritize backlog, and develop user stories and acceptance criteriaWe’ll look to you for:
- Define the software requirements specifications
- Define 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 architecture
- Elaborate 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 development
- Select 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
- Specify, design, prepare and perform tests and verifications of his/her deliverables
- Sustain the software
- Keep informed of the evolution of technologies through techno watch
- Contribute to standardization by reusing existing solutions or by defining reusable solutions, including COTS*
- Apply and ensure application of processes and standards
- Contribute to continuous improvement (RoE: Return of Experience, process…)
- Promoting the Alstom Code of Ethics and adhering to the highest standards of ethical conduct.
All about youWe value passion and attitude over experience. That’s why we don’t expect you to have every single skill. Instead, we’ve listed some that we think will help you succeed and grow in this role:
- Bachelor’s or master’s degree in computer science, software engineering, or a related field Master Degree
- Languages: English and Spanish both full proficient use. French will be a plus.
- Minimum 5 years of experience in Software Architecture
- Proficiency in C# programing language and frameworks like .Net and .Net Core
- Strong understanding and application of software design principles, including SOLID principles and architectural patterns like MVC, MVVM, or microservices and REST API
- Proficiency in advanced design patterns such as Dependency Injection, Factory, Observer, and Command, and the ability to apply them effectively in software design
- Extensive experience in test-driven development (TDD), unit testing (XUnit), and test automation frameworks. Familiarity with continuous integration and continuous delivery (CI/CD) practices (Azure Devops + Git).
- Proven experience with inter-process communications mechanisms and protocols like .Net remoting, gRPC, OPC-UA, Message Bus (amqp, mqtt).
- We will value having specific domain knowledge (CCTV, PA, PIS, Telephony, Communications, others…), integrated control centers or WPF.
- Being familiar with project management methodologies and tools to effectively manage project timelines and deliverables (ALM Tools) will be a plus.
- Is desirable having proven experience with other communication protocols like FTP, HTTP, RTSP, SSH, SIP and TLS
COMPETENCIES & SKILLS:
- Requirements Analysis: Collaborate with stakeholders to gather and analyze software requirements, ensuring a comprehensive understanding of project goals and user needs.
- Software Design: Lead the design process by creating software architectures, system models, and detailed technical specifications. Apply design principles and patterns to ensure scalability, maintainability, and extensibility.
- Coding and Development: Develop high-quality, efficient, and maintainable code using a variety of programming languages and frameworks. Take ownership of critical software components and modules.
- Design Patterns: Apply advanced design patterns and architectural principles to solve complex software design problems. Mentor junior developers in understanding and implementing these patterns effectively.
- Testing and Quality Assurance: Establish and enforce best practices for unit testing, integration testing, and code reviews. Ensure software is thoroughly tested for functionality, performance, and security.
- Documentation: Create and maintain technical documentation, including design documents, code comments, and knowledge-sharing materials. Ensure documentation is up-to-date and accessible to the team.
- Technical Leadership: Provide technical leadership and guidance to the development team. Mentor junior developers, conduct knowledge-sharing sessions, and promote a culture of continuous learning.
- Problem-Solving: Utilize strong analytical and problem-solving skills to address complex technical challenges and optimize software performance.
- Collaboration: Collaborate effectively with cross-functional teams, including product managers, quality assurance testers, and project managers, to ensure successful project delivery.
- Research and Innovation: Stay up-to-date with emerging technologies, industry trends, and best practices. Evaluate and recommend new tools, frameworks, and approaches to improve software development processes.
- Ability to work with other engineering teams
- Ability to work with remote collaborators
- Agile, Inclusive, Responsible
- International mindset
Things you’ll enjoyJoin us on a life-long transformative journey – the rail industry is here to stay, so you can grow and develop new skills and experiences throughout your career.You’ll also:
- Enjoy stability, challenges and a long-term career free from boring daily routines
- Work with new security standards for rail signalling
- Collaborate with transverse teams and helpful colleagues
- Contribute to innovative projects
- Utilise our Agile working environment
- Steer your career in whatever direction you choose across functions and countries
- Benefit from our investment in your development, through award-winning learning
- Benefit from a fair and dynamic reward package that recognises your performance and potential, plus comprehensive and competitive social coverage
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 noteAs 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.
Expected salary
Location
Madrid
Job date
Fri, 02 Aug 2024 22:07:16 GMT
To help us track our recruitment effort, please indicate in your email/cover letter where (vacanciesineu.com) you saw this job posting.