Embedded Software Engineer
Role details
Job location
Tech stack
Job description
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., * 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.
Requirements
Do you have experience in Software development?, 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
Benefits & conditions
Pulled from the full job description
- Dental insurance, Hybrid working model and 8 weeks per year of teleworking outside your usual geographical area.
Flexible start and finish times, and intensive working hours Fridays and in summer.
Personalized career plan development, training and language learning support.
National and international mobility. Do you come from another country? We can offer you a relocation package.
Competitive compensation with ongoing reviews, flexible compensation and discount on brands.