> Markdown version of [/jobs/ext/2275848-embedded-software-engineer](https://www.wearedevelopers.com/jobs/ext/2275848-embedded-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Embedded Software Engineer - **Company:** Descripción De La Oferta De Empleo - **Location:** Madrid, Spain (Remote available) - **Contract:** Temporary contract - **Skills:** Unit Testing, C++ (Programming Language), Computer Engineering, Software Debugging, Linux, Embedded Software, Fault Tolerance, Human-Computer Interaction, Linux System Administration, Network Service, Network Protocols, Object-Oriented Software Development, Software Engineering, Diagnostic Tools, Curam Configuration Tools, Git, Integration Tests, Software Version Control - **Published:** August 28, 2026 - **Apply:** https://www.tecnoempleo.com/embedded-software-engineer-appcast/c-c/rf-0b161d7152e7e34ab447 ## About the Role For this role, we are looking for candidates with a degree in Computer Engineering, Telecommunications Engineering, Electronic Engineering, Industrial Engineering or a similar discipline, with experience or an interest in developing embedded software for transport systems. Development in C/C++ Linux operating systems Object-oriented programming TCP/IP communications and network services Software development, debugging and integration in embedded environments Version control, particularly Git Ability to work in multidisciplinary teams ## Description We are looking for an Embedded Software Engineer for Railway Systems to join our Software Engineering team within the Intelligent Transport Systems (ITS) sector. The successful candidate will be involved in the development and integration of embedded systems for rail transport, working on critical solutions such as passenger information, public address systems, emergency intercoms, on-board video surveillance, ground communications and operational support systems. If you are interested in software development in Linux environments, the integration of complex systems, and want to be part of real-world projects deployed on trains, metros and trams, this could be your opportunity. WHAT CHALLENGE WILL YOU BE TAKING ON? As part of our team, you will be responsible for the following: Embedded software development: Designing, implementing and maintaining embedded applications in C/C++ for railway systems, primarily in Linux environments. Integration of railway ITS systems: Participate in the integration of solutions such as PIS, PA, PAS, CCTV, SAE/AVLS and embedded communications, collaborating with multidisciplinary teams covering software, systems, validation and project management. Communications and protocols: Develop and integrate components related to communications between embedded devices, ground-based systems and other train subsystems, working with network protocols, messaging, services and monitoring mechanisms. Human-machine interfaces and auxiliary applications: Collaborate on the development of HMI applications, configuration tools, monitoring and diagnostic tools. Optimisation, robustness and performance: Analyse and improve the behaviour of embedded applications, paying particular attention to performance, memory consumption, stability, concurrency and fault tolerance. Testing, validation and integration in laboratory and customer environments: Conduct unit tests, integration tests and functional validation in laboratory environments, test benches or platforms representative of the final system, as well as the final environment. Technical documentation: Produce and maintain technical documentation covering the design, integration, configuration, installation, operation and maintenance of the systems developed. Technical support and incident resolution: Provide support during the integration, validation, commissioning and maintenance phases, analysing logs, traces, memory dumps and abnormal system behaviour. ## Related Videos - [How a Small Team Shrank a Microsoft Monorepo by 94%](https://www.wearedevelopers.com/videos/1236-how-a-small-team-shrank-a-microsoft-monorepo-by-94) - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [Are you still programming unit tests or already generating?](https://www.wearedevelopers.com/videos/722-are-you-still-programming-unit-tests-or-already-generating) - [Agile work at CARIAD – Creating a customer web application for controlling the vehicle ](https://www.wearedevelopers.com/videos/200-agile-work-at-cariad-creating-a-customer-web-application-for-controlling-the-vehicle) - [Git for Code Reviews](https://www.wearedevelopers.com/videos/429-git-for-code-reviews) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) ## Related Articles - [Fully Remote Software Engineer Jobs](https://www.wearedevelopers.com/magazine/447-fully-remote-software-engineer-jobs) - [Where To Find Software Engineering Jobs](https://www.wearedevelopers.com/magazine/396-where-to-find-software-engineering-jobs) - [Where to Find Entry-Level Software Engineering Jobs](https://www.wearedevelopers.com/magazine/397-where-to-find-entry-level-software-engineering-jobs) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [The 12 Best Jobs for Software Engineers](https://www.wearedevelopers.com/magazine/401-the-12-best-jobs-for-software-engineers) - [Best Countries for Software Engineers](https://www.wearedevelopers.com/magazine/267-best-countries-for-software-engineers)