.Siemens Mobility is a separately managed company of Siemens. As a leader in transport solutions for more than 160 years, Siemens Mobility is constantly innovating its portfolio in its core areas of rolling stock, rail automation and electrification, turnkey systems, intelligent traffic systems as well as related services. With digitalization, Siemens Mobility is enabling mobility operators worldwide to make infrastructure intelligent, increase value sustainably over the entire lifecycle, enhance passenger experience and guarantee availability.Mobility Management, Turnkey Projects & Electrification, Mainline Transport, Urban Transport and Customer Services. They have the know-how to make road traffic flow more smoothly and quickly, make trains more environmentally friendly and efficient, make train schedules and freight shipments more reliable. We work with our customers to develop optimal solutions to help overcome their challenges.Siemens Rail Automation as a leader in state-of-the-art technology for the Railway Signalling sector, continues to develop products and solutions for the satisfaction of its customers and that is why for the R&D Dept.We would like to get on board a Software Engineer with experience of 1 to 3 years in research and development projects in the areas of critical systems, real time embedded systems, who will be responsible for the design and development of control systems Software, according to the design/product specifications.Main functions and responsibilities:- Development of Platform Software (low level), for Siemens specific solutions.- Design, implement and modify software (applications, communication protocols/stacks, etc) using Ada/C/C/C++ programming language using SIL2/SIL4 techniques.- Defining and executing tests.- Assume the responsibilities assigned during the entire software development cycle, including the specification, design, development, test, and customer support phase.- Work in an international and multidisciplinary development team.Required:- Software engineer (computer science, industrial engineer, telecommunications, computer science).- Programming language: ADA, C, C++.- Knowledge of RTOS (FreeRTOS, VxWorks, ...).- Knowledge of Windows/Linux API programming.- Extensive knowledge of communication interfaces and protocols such as Ethernet, TCP/IP, UDP, Euroradio,...- Experience with low-level software- Knowledge of object-oriented programming- Knowledge of SW architecture- Good level of Spanish and technical English, both spoken and written.- Ability to work effectively across multiple geographic locations- Ability to work in a team, good communication skills and a results-oriented approach.Desirable:- Knowledge of requirements management tools such as Doors.- Knowledge of CENELEC EN50128 software lifecycle.- Knowledge of Signalling Systems- Knowledge of AGILE (SCRUM) software development methodology